Commit Graph

52 Commits (669f8ac99f243e766acbddcd84c0c34f0e3deaf0)

Author SHA1 Message Date
Damien Doligez 1dd68ccf50 ajout des annotations pour variables et appels terminaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-05-16 08:21:41 +00:00
Damien Doligez f700284aac fusion des changements 3.09.3 -> release309_merge310
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-09 13:31:15 +00:00
Xavier Leroy 4b5512c74c Stack backtraces on uncaught exceptions in native code (merge of the opt_backtrace branch)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 12:11:18 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Xavier Leroy c7cf15ccf0 Bug dans subst, cas Uletrec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-24 09:05:27 +00:00
Xavier Leroy dbbd9f6ff5 Revu compilation let rec de fonctions pour eviter temps de compilation quadratique en le nombre de fonctions mutuellement recursives
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-21 07:55:01 +00:00
Jacques Garrigue 36a11d068b unused variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6687 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-22 08:42:34 +00:00
Xavier Leroy 3105a64eab Evaluation order for parameters of inlined function (PR#2910)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6659 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-03 09:23:56 +00:00
Jacques Garrigue 6a940ef65d switch to new vtable representation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-26 11:10:52 +00:00
Damien Doligez 258c929f64 PR#1914,PR#1956, suppression du portage Mac OS 9
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-05 20:26:19 +00:00
Xavier Leroy 7abcc8799e Ajout des litteraux de type int32, nativeint, int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-25 12:27:31 +00:00
Xavier Leroy 71cf31f0e2 Ajout du packaging d'unites de compilation (option -pack)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4367 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-02-08 16:55:44 +00:00
Luc Maranget a9c4a16caa optimsation pm a donf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3426 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-19 20:15:42 +00:00
Xavier Leroy d95c341c1f Bug de capture de nom dans l'inlining (sur les parametres de la fonction inlinee!)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-05 08:46:34 +00:00
Xavier Leroy a79f7df4f8 MAJ pour les bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3371 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-01-14 18:02:03 +00:00
Pierre Weis 2116da4220 Getting rid of obsolete boolean operators & and or
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-28 13:07:42 +00:00
Luc Maranget 89f252d93e or-pat avec variables et compil du switch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-02 14:08:30 +00:00
Xavier Leroy d89cd56af2 1- Ajout d'alpha-conversion dans substitute pour eviter les captures de variables accidentelles entre le corps d'une fonction inlinee provenant d'un autre module et un Ident.create ulterieur.
2- Desactiver l'optimisation des fonctions recursives closes lorsque la profondeur d'emboitement des fonctions devient trop importante (sinon: comportement exponentiel en la profondeur)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-09-01 13:27:11 +00:00
Luc Maranget d043fecf18 new or-pat compilation + exhaustiveness used in compilation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3273 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-11 19:50:59 +00:00
Xavier Leroy 45a18236df Revu compilation du filtrage des variants. Ajout de la primitive Pisint et de l'instruction bytecode ISINT.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-06 16:59:24 +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 d898f2a920 Ne pas simplifier les applications de primitives si les arguments ne sont pas purs (cf. bug report de Andrew Kay)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2434 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-10-14 17:07:59 +00:00
Xavier Leroy 2cdc58017c Elimination des arguments inutilises lors de l'inlining (Mark Hayden)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2328 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 09:49:06 +00:00
Xavier Leroy 4189443be3 Nouveau schema de compilation des definitions d'une unite de compilation en ocamlopt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2266 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 10:31:16 +00:00
Xavier Leroy 3e53f531c9 Propagation des constantes pour les booleens
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2258 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-29 08:50:24 +00:00
Xavier Leroy eed4e592d0 Bugs dans la propagation des constantes entieres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 09:38:22 +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 88e3910ce6 Eviter les let inutiles lors de l'inlining. Faire la propagation des constantes sur le corps des fonctions inlinees
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-09 13:40:10 +00:00
Xavier Leroy bdcbaa9602 Propagation des constantes entieres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-30 12:11:35 +00:00
Xavier Leroy 077c8f688d Bug dans direct_apply si l'expression de fonction a des effets et la fonction correspondante n'est pas close
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-08 11:35:20 +00:00
Xavier Leroy be4dd8dd1f Inutile de distinguer le nom du module dans les noms de fonctions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1677 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-30 12:27:45 +00:00
Xavier Leroy 4e28f4d9ec Utiliser . pour separer le nom du module dans les noms de fonctions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1662 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-26 12:22:17 +00:00
Damien Doligez a7ab31f37c Fix: pattern-matching non exaustif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1626 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-06-23 14:34:15 +00:00
Xavier Leroy 6b76f27803 Ajout de l'inlining
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1275 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-16 17:20:11 +00:00
Xavier Leroy 3597ec5e9a cmmgen: partage des litteraux
closure: broutille


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1230 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-01 15:35:28 +00:00
Xavier Leroy 126cd22562 Optimisation des fonctions tuplifiees.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1084 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-22 13:36:12 +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 5dda3ea3b6 Rectifications du switch (ajout d'un test de borne).
Ajout de Pbittest.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-04 15:54:25 +00:00
Xavier Leroy dc0b7b9b98 Modif. initialisation des structures toplevel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-18 14:42:27 +00:00
Xavier Leroy 0a5c670df0 closure: decurryfication faite plus tot.
emit_alpha: switch compile de maniere plus compacte.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-19 10:18:05 +00:00
Xavier Leroy 89c839060a Distinction Llet Strict / Llet Alias.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-15 09:55:46 +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 63bc0fd6b4 asmlibrarian: ne pas recopier les approximations dans le .cmxa
asmlink, compilenv: garder trace des .cmx non trouves
closure, cmmgen: 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@426 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-09 13:21:49 +00:00
Xavier Leroy 3063276f8b closure: correction du bug de (fun x -> x) 1
cmmgen: rectification de make_stores pour le cas ou lememe nom est
defini plusieurs fois.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@276 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-19 13:32:17 +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 b826ff65bc Ajout des tests Ieventest et Ioddtest dans Mach.operation
Meilleure traduction lambda -> C-- pour les definitions de structures
toplevel.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@109 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 16:10:15 +00:00
Xavier Leroy d0c03529e9 closure: suppression du parametre d'environnement si inutile.
cmmgen: prise en compte du flag -compact.
coloring: dissymetrisation des preferences.
interf: ne pas ajouter de preferences entre registres qui conflictent.
emit_mips: masquage du bit "deja scanne" sur les addresses de retour.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 17:16:20 +00:00
Xavier Leroy 882355e58b emit_alpha, asmlink: generation d'une directive .file.
closure: mecanique de partage des cas de switch revue.
cmmgen: on evite d'emettre plusieurs fois la meme fonction (peut se
produire suite a un departage de orpat).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@95 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:32:09 +00:00
Xavier Leroy eb0dbcb903 Ajout de asmlibrarian, MAJ de asmlink.
clambda, closure: meilleure detection des fonctions closes.
selection: correction de storechunk.
spill: spill retarde dans les conditionnelles.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@79 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:03:29 +00:00