Commit Graph

121 Commits (62b0e4fb1062003e88aec0bb6b2f7b6db779ca51)

Author SHA1 Message Date
Pierre Weis b96208b7a2 Revu les impressions du compilateur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 22:12:09 +00:00
Xavier Leroy ee2c3d5bc6 Nouveau format extensible d'executables bytecode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2903 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-05 19:18:50 +00:00
Xavier Leroy c0feeaa7e5 Optimisation des acces aux bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2873 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-28 15:45:50 +00:00
Xavier Leroy b09f44025c Ajout des types predefinis int32, int64, nativeint.
Ajout des primitives correspondantes dans le type lambda.
Optimisation de ces primitives dans le compilateur natif


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2839 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-21 18:14:56 +00:00
Pierre Weis 39553e9972 Révision de l'impression à l'aide de format: utilisation de printf
pour condenser les programmes et aussi préparer une future (éventuelle)
internationalisation d'Objective Caml.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-08 20:00:06 +00:00
Jacques Garrigue ea77b3d485 Variant compilation bugs: simple mistakes in matching.ml, and incorrect use of Const_pointer for 31-bit integers in translcore.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 17:21:29 +00:00
Damien Doligez ec1c205be6 detabisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 15:56:27 +00:00
Xavier Leroy 555c7f8022 Ajout de la primitive %obj_is_int
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-12 16:29:31 +00:00
Jacques Garrigue c7c92e6a06 Nettoyage de l'optimisation des valeurs par defaut dans translcore.ml. Ajout de Default a Asttypes.rec_flag.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2670 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-06 17:05:19 +00:00
Jacques Garrigue e6d3ba276e bug in pushing defaults in function definitions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2663 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-01 15:56:42 +00:00
Jacques Garrigue 6dceef2ead evaluate all arguments in out-of-order partial applications
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2662 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-01 14:07:38 +00:00
Jacques Garrigue 296fc05470 Merge olabl branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Xavier Leroy a048d42b10 Ajout du module Formatmsg pour rediriger les messages du systeme vers stdout ou stderr suivant le contexte
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 17:06:33 +00:00
Xavier Leroy 5038f3cdb6 Ajout de Pervasives.ignore. List.remove -> List.remove_ass*
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-24 15:21:50 +00:00
Xavier Leroy 0ecbd9a5ab Verification plus stricte des let rec (bug de Pascal Cuoq)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2295 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-19 16:28:45 +00:00
Xavier Leroy 946e79f63d Code plus compact genere pour {r with ...} quand r a beaucoup de champs qui ne sont pas redefinis
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-03 16:03:58 +00:00
Jérôme Vouillon afc341a3cd Evaluation retardee de object ... end
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-24 22:00:06 +00:00
Xavier Leroy 939d9b30a9 En ocamlopt, les acces hors bornes levent Invalid_argument au lieu de planter le programme. Itou pour les fonctions C qui appellent invalid_argument. Teste sur Intel, a tester sur les autres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 15:35:48 +00:00
Jérôme Vouillon 5db83b0276 Bugs de compilation des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-31 19:41:24 +00:00
Jérôme Vouillon 87b17301f4 Nouvelle syntaxe des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1997 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-24 19:22:26 +00:00
Xavier Leroy 19d79cd6ac Meilleurs noms pour les exceptions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1991 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-23 10:06:50 +00:00
Xavier Leroy 966c09366b Ajout de l'extension de records {r with lbl=expr}
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 15:17:11 +00:00
Xavier Leroy ea8fe59ea0 Adoption des memes representations que dans ocamlopt pour les tableaux de flottants et les fonctions mutuellement recursives.
Simplification de la compilation du let rec de valeurs.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:15:55 +00:00
Xavier Leroy 83cea541c3 Ajout de let module = <modulexpr> in <expr>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-02-26 12:54:44 +00:00
Jérôme Vouillon b31ba453db Utilisation de "name_pattern" pour [try ... with ...] aussi.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1609 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-06-15 16:50:09 +00:00
Xavier Leroy 7ec8fce54c Nouveau format d'executable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1593 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-06-13 15:48:53 +00:00
Damien Doligez 4eeb35cc67 Fix de let rec dans ocamlc -g
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1585 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-06-12 15:25:01 +00:00
Damien Doligez 03ec746bf1 deTABisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-19 15:42:21 +00:00
Xavier Leroy 3f1b15e439 bytelink, emitcode: nouvelle gestion des CRC des interfaces.
bytelink: Sys.command -> Ccomp.command
translcore: expanser les abreviations dans has_base_type


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1551 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-15 13:25:14 +00:00
Jérôme Vouillon 874f21a083 Methodes privees.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-11 21:48:21 +00:00
Jérôme Vouillon f267206dca Evenement apres un appel a une fonction C
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-30 19:41:54 +00:00
Jérôme Vouillon a0cfa218df Ajout de pseudo-evenements en debut de fonction (on ne s'y arrete pas,
mais on peut y mettre des point d'arret). Permet de mettre un point
d'arret au debut de n'importe quelle fonction ("break function"). Ce
point d'arret est commun a tous les cas de la fonction
Evenement avant la garde bien place, et evenement apres la fleche
quand il y a une garde ([when < e -> < e'] au lieu de [< when e -> e']).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-27 20:54:05 +00:00
Jérôme Vouillon 0ddf4dab80 Modification de Ctype.correct_levels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-24 20:13:16 +00:00
Jérôme Vouillon 88a494b9e8 Ctype.correct_level devient Ctype.correct_levels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1399 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-14 15:23:05 +00:00
Jérôme Vouillon f9e4b2d441 Revision de la manipulation des types.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1392 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-13 21:19:35 +00:00
Jérôme Vouillon b54a009909 Ctype.expand_root renomme en Ctype.expand_head
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 22:43:27 +00:00
Xavier Leroy 65b0dfc16c Corrections de bugs dans la gestion des evenements de debug.
Conserver l'optimisation tailcall et push-acc meme en presence
d'evenements de debug.
Stockage plus efficace des infos de debug dans les .cmo.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1279 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-19 16:08:05 +00:00
Xavier Leroy 3b92524aa9 Ajout du support pour le debugger
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-11-29 18:36:42 +00:00
Xavier Leroy 567e31cd7f Detection des fonctions tuplifiees.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1085 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-22 13:36:59 +00:00
Xavier Leroy 32f11c1c99 Expanser les abreviations de maniere plus paresseuses pour faire la
strength reduction basee sur les types.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1071 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-09 13:38:50 +00:00
Xavier Leroy 4c5a2550b9 Correction bug dans Translcore.array_kind
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1038 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-01 09:46:17 +00:00
Xavier Leroy 8d069d7e00 Ajout du module Types et d'infos d'environnement dans Typedtree.
Translcore: meilleur tests de types pour determiner le kind d'un tableau.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 11:30:27 +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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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