Commit Graph

118 Commits (e14f372e0532ccaa0d52cd385361087dadc78022)

Author SHA1 Message Date
Xavier Leroy c2b120baf3 Cas des tableaux dans un let rec de valeur.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-25 13:16:41 +00:00
Xavier Leroy 6fda5ca60c Amelioration de la tail recursion.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-01 12:42:18 +00:00
Xavier Leroy 42386e77b6 Ne pas optimiser opt = Constr_constant si le constructeur est une exception.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-25 09:52:46 +00:00
Daniel de Rauglaudre cfd2ee96af Bug du "let rec" dans un "let rec"... il manquait une correction dans
la fonction Bytegen.size_of_lambda.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@885 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-14 14:36:17 +00:00
Xavier Leroy a5af2dc1a3 Autoriser les let rec dans les let rec.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@873 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-11 14:58:42 +00:00
Xavier Leroy 7714c02c68 Remplacement de Meta.execute_bytecode par Meta.reify_bytecode.
Adaptation de Bytegen.compile_phrase en consequence.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@843 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-28 12:40:09 +00:00
Xavier Leroy b0b5b4a1ec L'argument de [PUSH]GETGLOBALFIELD etait emis sur 8 bits seulement au
lieu de 32.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-27 14:19:02 +00:00
Xavier Leroy dc79ea388d Attention aux debordements arithmetiques...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@837 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-24 13:15:46 +00:00
Jérôme Vouillon 064465320e Nettoyage : Label.t remplace par string.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-16 16:10:16 +00:00
Jérôme Vouillon de40cbf0b6 On peut maintenant masquer des variables d'instances dans les interfaces.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-14 15:38:36 +00:00
Xavier Leroy 1a252b6d1f Verification du let rec de valeurs encore change.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-07 08:14:10 +00:00
Xavier Leroy 5598ed9c98 La correction du bug de la compilation de match (x,y) with ...
supprimait completement l'optimisation...


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-06 09:07:36 +00:00
Xavier Leroy 6cfdc1aaba Bug dans compilation des let rec de valeurs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@788 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-03 16:05:40 +00:00
Xavier Leroy 5dc2063fd8 Bug dans les compilation de match (x,y) with <orpat>.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-03 09:53:28 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon 7974a9d8b1 Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy 8a0fbab459 Ajout d'une option -linkall dans les .cmo et .cma.
translmod: probleme avec les external declares val dans le .mli.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-18 16:28:28 +00:00
Xavier Leroy 450af4d2bf Compilation du pattern-matching revue (orpats, matchings avec entiers
et caracteres).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-04 15:55:29 +00:00
Xavier Leroy 3b91622e5d Linker -lcamlrun avant les bibliotheques passees par -cclib.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@715 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-01 15:23:31 +00:00
Xavier Leroy 134512c2fd Bug si un identificateur est exporte plusieurs fois dans le .mli: on
le stocke a la position du premier identificateur, et les clients vont
le chercher a la position du second.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-03-15 16:01:15 +00:00
Francois Rouaix ef2c58cfd2 Ne pas utiliser translate pour compiler le matching avec des entiers < 0 ou
> 255.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@700 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-03-15 14:21:15 +00:00
Xavier Leroy 38d0c776bf Ajout de la primitive %absfloat (valeur absolue flottante).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-03-07 13:45:57 +00:00
Xavier Leroy 54b18337c8 Meilleure compilation des matchings sur entiers -- important depuis la modification de csllex
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-25 17:56:10 +00:00
Xavier Leroy c5483309b5 Portage Windows NT/95.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-21 10:49:46 +00:00
Xavier Leroy 27d6fd6d66 cslopt: modif. initialisation des structures toplevel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-18 14:43:18 +00:00
Xavier Leroy 84ffb16ed7 Debut du portage Windows NT/95
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-15 16:19:09 +00:00
Xavier Leroy 0bbb307c67 lambda: () est const_pointer 0, pas const_int 0
bytegen: bug dans "if not cond then ... else ()".


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-09 09:47:53 +00:00
Xavier Leroy 470421514c Misc.temp_file -> Filename.temp_file
Utilisation de Misc.replicate_list.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@585 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-04 12:50:22 +00:00
Xavier Leroy 62bfd984e3 Lfunction a plusieurs arguments. Decurryfication faite dans Translcore.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-19 10:19:12 +00:00
Xavier Leroy e3fd81b00d Bug dans pattern-matching (p1, p2) -> | _ ->
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@542 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-15 17:30:18 +00:00
Xavier Leroy 26747162e8 Acces aux variables liees par un pattern-matching entierement revu.
Passe d'elimination des lets inutiles.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@534 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-15 10:18:29 +00:00
Xavier Leroy 5e0f79bb50 Ne pas virer le setglobal qd on elimine le code mort
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@480 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-28 09:32:29 +00:00
Xavier Leroy 7c3be71ad9 Transformation des references en variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@463 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-25 15:38:43 +00:00
Xavier Leroy 537219eee1 Ajout flag mutable sur Pmakeblock, qui desactive
l'approximation pour e.g. les references vers des fonctions.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-09 13:22:16 +00:00
Xavier Leroy 628dba6f3c Bug dans le traitement des declarations de primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@404 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-06 11:07:13 +00:00
Xavier Leroy b7f5c68470 Dans les .cmo, on garde trace des primitives declarees dans le module. Du coup, cslmktop -custom se remet a marcher.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@398 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-05 17:32:12 +00:00
Xavier Leroy e06a12dcd6 Ajout de std_exit au link.
Pas de code produit par une definition de primitive.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@347 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-23 16:56:52 +00:00
Xavier Leroy eda2f6449b Nouveau format de .cmo (utilisation de MD5, detection unsafe)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-09 13:37:11 +00:00
Xavier Leroy 65315f212c Verif de coherence des interfaces: permettre de linker plusieurs .cmo
avec le meme nom.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@320 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-04 20:52:43 +00:00
Xavier Leroy 97fba0e18e "with" -> "with type"
Compilation de [| ... |] avec plus de 256 elements.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@310 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-03 14:03:30 +00:00
Xavier Leroy 5804aafa2c Ne pas faire "strip" en mode -custom.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-08 08:55:30 +00:00
Xavier Leroy 6d88477193 MAJ des fichiers .cvsignore
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@231 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-29 08:33:39 +00:00
Xavier Leroy 90fc1c2cf4 Foncteurs applicatifs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-23 11:55:54 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy bd39426c54 Suppression de output_compact_value.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 13:17:15 +00:00
Xavier Leroy e31db147dd Nouvelle rectif de array_kind pour faire face aux abreviations non expansables.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-28 12:25:17 +00:00
Xavier Leroy 4ea5700953 Dans array_kind, ne pas planter si le type n'est pas un type tableau.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-28 12:22:33 +00:00
Xavier Leroy b44ab158b2 Creation du module primitive.
Gestion speciale des tableaux de flottants et des records de flottants.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-27 17:40:34 +00:00
Xavier Leroy 8deb415b89 Changement representation des primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@143 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:38:42 +00:00
Xavier Leroy b3b26e50eb Detection plus fine des primitives C n'allouant pas.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@137 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-24 12:45:32 +00:00
Xavier Leroy ef5d1c3fb2 MAJ du Makefile suite a la separation de compilos C pour le bytecode /
pour le compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@116 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:41:30 +00:00
Xavier Leroy 2c4565e939 Deplacement du module meta.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@96 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:32:29 +00:00
Xavier Leroy bf3897a27a MAJ du linker et du librarian.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@81 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:05:47 +00:00
Xavier Leroy 0fed8751e2 Introduction de Pintoffloat et Pfloatofint.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@75 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:53:14 +00:00
Xavier Leroy c226d5efeb Branchement du GC de la version bytecode sur le compilateur natif
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@72 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-10 09:48:27 +00:00
Xavier Leroy cd93956a7b Curryfication de Format.print_break.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@67 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:09:01 +00:00
Xavier Leroy bee1844ffe Codage des constructeurs constants avec Const_pointer
Optimisation de match (a,b) with (p1,p2) ->
Renommage de codegen -> bytegen, linker -> bytelink.
emitcode: cas Kdummy 0.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@53 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:45:21 +00:00
Xavier Leroy 41bd2b6153 Fermetures representees en un seul bloc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@49 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-22 10:11:18 +00:00
Xavier Leroy e0f3c043e5 Changement representation des constructeurs constants.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@40 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-18 14:44:56 +00:00
Xavier Leroy ed62086527 Renommage %array_get -> %array_unsafe_get, etc.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@29 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-15 08:09:12 +00:00
Xavier Leroy 752b22056d Correction de divide_tuple dans le cas d'une variable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@26 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-05 15:56:15 +00:00
Xavier Leroy e5cfbe7fd7 "let rec" de valeurs plus souple.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@21 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-05 13:41:20 +00:00
Xavier Leroy e57ef00576 Remplacement de Cset par Set
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@20 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-30 13:36:40 +00:00
Xavier Leroy ec675d2f9a Detection des types sommes avec trop de constructeurs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@18 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-22 15:43:44 +00:00
Xavier Leroy 997fb206a7 Printf.sprintf et String.concat dans stdlib
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-05 10:05:18 +00:00
Xavier Leroy 623e2fbc00 Ajout de Sys.file_exists
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 12:48:07 +00:00
Xavier Leroy 1953de21ef Correction nom du header des executables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 11:48:01 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00