Commit Graph

575 Commits (4e8b7a4808f928e6dba47a2bb768c83dbd426d2d)

Author SHA1 Message Date
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
Damien Doligez bf5cdff645 pas de curses en natif
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3318 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-27 15:18:24 +00:00
Xavier Leroy cbc5d92988 Meilleur traitement des fonctions tail rec avec des arguments en pile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-10 12:39:16 +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 fd8846fecd Portage Cygwin
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-10 09:58:08 +00:00
Xavier Leroy f7c20e30ec Fusionner Imove/Ispill/Ireload; typos; erreur dans la multiplication par 0 (...)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-21 08:07:46 +00:00
Xavier Leroy 07b74ffb67 Suite portage IA64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-16 02:57:31 +00:00
Xavier Leroy fac3cd5fe0 Erreur dans Istoreincr
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-07 17:20:21 +00:00
Xavier Leroy b84fec0161 Debug du scheduler
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3231 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-07 17:19:57 +00:00
Xavier Leroy b00caa1790 Suite portage IA64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3228 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-07 14:09:06 +00:00
Xavier Leroy b982c6a6f7 Suite experience scheduling post emission
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-06 20:56:16 +00:00
Xavier Leroy 440f78442b Essai de scheduling apres emission -- incomplet!
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-06 19:29:41 +00:00
Xavier Leroy 5b77735593 Suppression des loads et stores avec postincrement (probleme potentiel avec as -xauto)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-07-01 11:46:20 +00:00
Xavier Leroy 176441f93b Suite portage IA64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3222 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-30 16:37:42 +00:00
Xavier Leroy 018e774091 Premier jet du portage IA64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3219 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-29 11:46:14 +00:00
Xavier Leroy 68b5b9b5b5 Revu emit_stores pour pouvoir le redefinir pour certains processeurs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3217 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-29 11:44:36 +00:00
Xavier Leroy 7cf43583e4 Determination automatique du premier numero de register libre
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3216 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-29 11:44:06 +00:00
Xavier Leroy eca79e519a Erreur de formattage
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3215 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-29 11:43:46 +00:00
Xavier Leroy 18fd4e7ab8 Rectification generateur HPPA pour supprimer warning de compatibilite (PR#125)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-05 12:32:11 +00:00
Xavier Leroy f6fac01592 Distinction code/data pour nativeint_ops, etc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-21 13:33:51 +00:00
Xavier Leroy 9bacf41bfa Eradication de Formatmsg
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3126 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-21 11:55:31 +00:00
Pierre Weis 9abfff060e Suppression de Formatmsg, réécriture des messages à l'aide de Format.fprintf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-21 08:13:22 +00:00
Xavier Leroy af921a24ae Mettre automatiquement une option -L pour chaque repertoire donne par -I
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-16 14:36:00 +00:00
Xavier Leroy 4143a8675a Traiter correctement raise lorsqu'il apparait sous un operateur strict (e.g. 1 + raise E, cf. PR#79)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-13 12:17:26 +00:00
Xavier Leroy e9d9a9779c Meilleur message d'erreur 'No implementations provided'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-10 15:01:30 +00:00
Xavier Leroy d2d789e8a8 MAJ load/store revus
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-06 14:19:46 +00:00
Xavier Leroy 485d38567d Retour de Cconst_pointer et ajout de Cconst_natpointer (necessaires pour un bon typage du code C-- et donc des racines du GC, voire PR#58)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-17 13:24:17 +00:00
Jacques Garrigue 8faa469c48 Ident passe a Format
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2957 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-15 02:09:27 +00:00
Jacques Garrigue a98163685e oublis Cconst_pointer -> Cconst_int
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2952 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-13 05:53:17 +00:00
Xavier Leroy 90c6a0e491 Suppression de Cconst_pointer, redondant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-12 13:06:57 +00:00
Xavier Leroy 6adae769af Exiger gas (GNU as) comme assembleur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-10 15:07:20 +00:00
Xavier Leroy c02c135946 Introduction de Double_u (doubles alignes sur un mot) par opposition a Double (doubles alignes naturellement). A tester.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-10 14:31:06 +00:00
Xavier Leroy c7b7c24381 Nouveau format de .cma et .cmxa, se rappelle des -cclib et -ccopt necessaires pour le link final
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-09 09:12:28 +00:00
Damien Doligez 836c41cd32 Fix PR#48 (plus general)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 14:52:19 +00:00
Xavier Leroy 96cb7c30af Ajout des conversions int <-> int32 <-> int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-05 19:17:54 +00:00
Damien Doligez 624e44413d fix PR#48 (provisoire?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-03 19:22:26 +00:00
Xavier Leroy 1fc102caa7 Adaptation pour BSD
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-29 16:15:59 +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 864a8b5842 Erreur dans la taille des entiers alloues
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2872 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-28 09:03:00 +00:00
Xavier Leroy f2a2bf7d8b Nativeint.t -> nativeint.
Debug des entiers alloues sur 64 bits


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-21 19:38:09 +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
Xavier Leroy 616fae49f9 Normaliser les constantes entieres 32 bits
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2836 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-21 18:12:52 +00:00
Xavier Leroy 1cac403368 Ajout des modules Int32, Int64 et Nativeint
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2807 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-11 15:09:27 +00:00
Pierre Weis cab4731dcc print_string -> printf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-10 08:48:25 +00:00
Xavier Leroy 6d83326e52 MAJ pour HPUX 10.
Ajout load/store int32 et float32


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-10 08:43:33 +00:00
Xavier Leroy 68cfc93add Catch-all inutile dans un filtrage
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-10 08:43:10 +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
Xavier Leroy 600656aa48 Ajout load/store int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2792 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-07 10:23:22 +00:00
Xavier Leroy 1442bc4dd8 23 registres entiers, pas 24
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-07 10:23:10 +00:00
Xavier Leroy bd87e3921e Deprecated the M68k port
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2787 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 15:34:43 +00:00
Xavier Leroy 3e5b4ba1ca Typo dans Cint32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2786 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 15:28:56 +00:00
Xavier Leroy ba056d72a4 Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 15:08:29 +00:00
Xavier Leroy d9fe400f4e Oubli: Cint32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 15:08:23 +00:00
Xavier Leroy a0b43b6a5a Deux typos (Iload, Cint32)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2783 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 15:05:10 +00:00
Xavier Leroy 470d4a8dde Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 14:31:38 +00:00
Xavier Leroy dca961a658 Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 13:47:25 +00:00
Xavier Leroy 81bfeaae69 Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 13:31:04 +00:00
Xavier Leroy 44f0f8a5a4 Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 12:43:18 +00:00
Damien Doligez 469ec90391 detabisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 15:50:42 +00:00
Damien Doligez 9968714ee2 optimisation des racines globales pour le GC mineur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2733 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-05 13:16:31 +00:00
Damien Doligez 77551fc8d6 petit glitch sur l'addition d'une constante (XL)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2731 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-05 13:07:18 +00:00
Jacques Garrigue 221224ae94 typo
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2671 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-06 17:10:36 +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
Jacques Garrigue 71d0a1a181 dead files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2654 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 17:09:30 +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
Damien Doligez ddc7d63689 tabs -> spaces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-29 19:16:30 +00:00
Xavier Leroy e0e7b3015a Rectification constantes flottantes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2585 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-22 18:24:27 +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 1f5291367f Lier explicitement la limite haute d'une boucle for a une variable (car si c'est deja une variable, elle pourrait changer lors de l'execution de la boucle)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-09 14:41:24 +00:00
Damien Doligez 511c2f58c4 bug sur -nopervasives
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2496 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 18:50:36 +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
Damien Doligez 05f4452887 option -nopervasives pour le link
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2475 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 15:25:41 +00:00
Jérôme Vouillon 7585ec9e29 Bug dans la compilation de ignore (!)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2459 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-03 18:29:20 +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 d4d7744f79 Oubli de open Misc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-10-14 15:23:53 +00:00
Xavier Leroy 26d4b308cf Ajout de bsd_elf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-10-14 13:35:23 +00:00
Xavier Leroy f9a592b8e9 Detecter le cas ou la matrice d'interference explose
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2414 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-10-14 13:34:37 +00:00
Xavier Leroy 68829a504b Portage BeOS/Intel x86
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-18 18:46:17 +00:00
Xavier Leroy 52bdeb2bdf Prise en compte du traitement addimm 2 addresses -> lea
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2375 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 17:48:10 +00:00
Xavier Leroy 57d1b406ce Ajout d'une passe supplementaire pour combiner les allocations qui apparaissent dans le meme bloc de base.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2361 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:04:46 +00:00
Xavier Leroy 94b8cdbb74 Emettre un lea pour x <- y + cst quand x et y sont dans des registres differents (utile pour la nouvelle passe Comballoc)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2360 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:04:08 +00:00
Xavier Leroy 75d7f7d0aa Support *BSD
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:03:11 +00:00
Xavier Leroy b22f481fa3 Mieux compiler while(not cond)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-10 13:50:24 +00:00
Xavier Leroy ad5f095034 Revu compilation du Lswitch pour contourner un bug de l'assembleur (pas de .gpword sur un label defini en arriere)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2349 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-10 12:47:57 +00:00
Xavier Leroy 03f01569a7 Bien traiter Ialloc de plus de 1024 octets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 15:03:28 +00:00
Xavier Leroy 2de70e9427 Dans Ialloc, traiter le cas ou l'offset par-rapport a l'allocation groupee n'est pas un immediat
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 11:09:45 +00:00
Xavier Leroy 294aff94cf Lors de l'emission de constantes, faire attention aux symboles de code / de donnees (suite)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 10:55:46 +00:00
Xavier Leroy 6ad4dff1f8 Lors de l'emission de constantes, faire attention aux symboles de code / de donnees
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 10:49:25 +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 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 05b366f105 Istore_int et Ipush_int prennent un Nativeint.t au lieu d'un int
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2275 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-12 16:27:39 +00:00
Xavier Leroy dfff116874 Fusionner les allocations qui sont dans le meme basic block
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2269 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 15:29:34 +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 2f274392aa Istore_int, Ipush_int: prennent des nativeints en argument
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2265 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 10:30:31 +00:00
Xavier Leroy 5980951342 Optimisation des decalages, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2261 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-01 09:28:52 +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 07f623dc28 Meilleur tagging/untagging pour les decalages
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-29 08:50:10 +00:00
Xavier Leroy e69a4030c0 Emettre symbol - N plutot que symbol + -N
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2256 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-28 15:39:09 +00:00
Xavier Leroy 36b07ae020 Preallocation des fermetures pour les fonctions closes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-27 10:52:33 +00:00
Xavier Leroy 83cd7cac3d Optimisation de la selection d'instruction (les checkbounds peuvent apparaitre dans des expressions simples, c'est bon pour le flottant Intel)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-03 17:28:53 +00:00
Xavier Leroy 08a46a325c Bug de spilling lie aux exceptions levees par Icheckbound (signale par Fabrice Le Fessant)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2220 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-03 09:51:35 +00:00
Xavier Leroy 7f9ee6a995 MAJ portage Win32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-02 14:39:27 +00:00
Xavier Leroy 16bc49829e Implementation de -cclib -lfoo pour Windows
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-02 10:58:22 +00:00
Xavier Leroy 80a18abcec fmovd -> 2 fmovs (car l'assembleur GNU ne comprend pas fmovd)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2197 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-26 09:34:46 +00:00
Xavier Leroy 0e6d40d981 Support pour le Dynlink natif de Fabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-20 15:35:04 +00:00
Xavier Leroy b71badac85 Mips/Irix: passage en mode -n32. Mips/Ultrix: suppression
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2183 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-18 18:10:53 +00:00
Pierre Weis 29ceedb180 Warning de la séquence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-12 16:53:20 +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
Xavier Leroy 6c220cd9c1 Optimiser x + 0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 09:38:40 +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
Xavier Leroy 10231cade2 Ajout de l'option -cc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2161 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-06 15:39:43 +00:00
Xavier Leroy 59cb8750d2 Simplification des modes d'adressage: suppression du mode Iindexed2, inefficace et genant le bon scheduling
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-20 15:27:27 +00:00
Xavier Leroy fc77f415d8 Scheduler les checkbound avant les load correspondants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-19 17:21:45 +00:00
Xavier Leroy 66ae9423a7 Portage ARM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-15 16:10:53 +00:00
Xavier Leroy fca1be1fdd Suite du portage ARM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2119 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-14 17:08:57 +00:00
Xavier Leroy 57c704d739 Portage ARM -- premier jet
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-09 14:43:30 +00:00
Xavier Leroy fefba26fcf Gerer le correctement sous Linux aussi, car ld 2.8.1 traite les multiples correctement
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2053 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-14 16:04:15 +00:00
Xavier Leroy fe0a2ee892 Retour a la strategie standard de gestion du
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-13 09:02:43 +00:00
Xavier Leroy 94dd3b1472 Exception Use_default inutile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2037 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-08 10:21:02 +00:00
Xavier Leroy 057d9f6aa4 Debug de l'option -p
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2027 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-06 14:25:44 +00:00
Xavier Leroy 49521cb928 Ajout du profiling par gprof (ocamlopt -p)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2025 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-06 13:27:38 +00:00
Jérôme Vouillon 1e375a74dd Nouvelle syntaxe des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1999 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-25 13:14:07 +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 5ac8854085 Eviter d'emettre des addi 1, 1, 0 en cas de fonction qui n'utilise pas la pile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1988 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:43:04 +00:00
Xavier Leroy a859063f3b Utiliser movz[bw]l systematiquement, ne pas essayer de faire un load partiel dans un registre mis a zero. C'est moins bon pour le Pentium mais meilleur pour le Pentium Pro
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:40:04 +00:00
Xavier Leroy bae3ad8140 Retour au schema classique de compilation de Lswitch (pour atom, pixie, et outils semblables)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1986 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:38:57 +00:00
Xavier Leroy 183fbec2d8 Reconnaitre les comparaisons cmpi const_pointer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-09 13:40:34 +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 6813c409c9 Portage SparcLinux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-05-11 14:57:23 +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 e991e9442f Composer les passes du compilateur avec ++ pour eviter de garder des pointeurs vers des structures inutilisees
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 15:16:48 +00:00
Xavier Leroy 4f0bb3509a Scheduling plus agressif des loads et des stores
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 09:56:13 +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 268f9837e9 Meilleur traitement des branchements conditionnels en fin de boucle
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1893 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:08:26 +00:00
Xavier Leroy 019ea317d1 Simplification compilation du let rec de valeurs. Meilleure compilation des boucles for.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1892 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:07:57 +00:00
Xavier Leroy 9d58fcda15 Cosmetique
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:07:06 +00:00
Damien Doligez c75800174b Portage Rhapsody, suite et fin
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 19:31:32 +00:00
Damien Doligez e6373b2028 Portage Rhapsody, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 17:47:24 +00:00
Xavier Leroy 8a66e4a3cb Portage Rhapsody, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 15:06:16 +00:00
Xavier Leroy e378bb74d8 Premier jet portage Rhapsody
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1885 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 13:57:35 +00:00
Xavier Leroy 01b52f7c7f Eviter les spills preventifs 'impossibles'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1872 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-02-13 16:32:32 +00:00
Xavier Leroy c7f9a3da96 Meilleur traitement des paires de registres entiers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1871 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-02-13 16:32:12 +00:00
Xavier Leroy 9986024d28 Ajouter startup dans les tables de segments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1864 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-01-05 12:43:34 +00:00
Xavier Leroy 263f0a5b3b Corrige un bug et ameliore le code dans la selection des shifts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1823 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-12-01 16:50:24 +00:00
Xavier Leroy 4b87c64279 Retour en arriere sur la modif des offsets dans les descripteurs de frames
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1811 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-27 16:28:21 +00:00
Xavier Leroy ba8856fa7b Suite a la nouvelle interface avec le GC: stocker les offsets dans les frame descriptors sans le 96 en plus
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1803 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-25 12:59:56 +00:00
Xavier Leroy c3984c6466 Contraintes de registres sur div et mod
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1774 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-17 14:45:22 +00:00
Xavier Leroy 86cd1df7ba Typo
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-17 14:21:05 +00:00
Xavier Leroy 9893221693 Retour de l'instruction add $imm, mem.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-14 11:02:05 +00:00
Xavier Leroy efca4a4c3e Adaptation private method -> method protected.
Davantage de method protected dans schedgen et selectgen.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-13 10:57:10 +00:00
Xavier Leroy 5f7de2a000 Plus de labels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-10 18:22:59 +00:00
Xavier Leroy 839a164991 Marquer le plus possible de methodes "private" et ne pas les exporter.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-06 17:25:24 +00:00
Damien Doligez e75acb1d8b Changement de type de List.iter.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1745 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-31 12:56:28 +00:00
Xavier Leroy 735af8a7e8 Code genere un poil plus efficace pour les decalages
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-15 09:20:44 +00:00
Xavier Leroy a735a1747a Nativeint.hexa ajoute deja le prefixe 0x
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1712 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-09-17 11:58:00 +00:00
Xavier Leroy 3e8feff2db Bug sous Linux avec les grosses constantes entieres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1710 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-09-17 09:43:59 +00:00
Xavier Leroy 88054d9a98 MAJ portage Win32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1698 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-09-02 16:01:39 +00:00
Xavier Leroy 23686e5320 Quelques cas manquants dans la compilation du letrec de valeurs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-08-22 08:53:12 +00:00
Xavier Leroy aad8a09b88 Suppression de local_entry_point, maintenant inutile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-08-21 09:37:05 +00:00
Xavier Leroy ceb5c77382 Ne pas charger 7 quand on appelle une fonction Caml. Si elle a besoin de , elle fait un br sur place au debut.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-31 05:24:10 +00:00
Xavier Leroy b2465b0dee add -n => sub n quand c'est profitable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-31 03:50:32 +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 144a8147db Tabs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1676 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-30 12:25:47 +00:00
Xavier Leroy 987344133e Meilleur code genere pour Ialloc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-30 01:21:34 +00:00
Xavier Leroy 64d8dd8c42 Portage Alpha-Linux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1672 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-30 01:12:19 +00:00
Xavier Leroy eaa525fb33 Suite du portage Linux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1667 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-27 19:26:13 +00:00
Xavier Leroy eec9139cff Premieres adaptations pour l'assembleur GNU
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1666 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-27 15:08:39 +00:00
Xavier Leroy 572d7fce33 Etiquettes de donnees a partir de 100000 au lieu de 10000
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1665 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-27 09:44:27 +00:00
Xavier Leroy e14f372e05 Petite optimisation vis-a-vis du GC
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1664 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-27 09:43:09 +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
Xavier Leroy 3edd5476e2 Analyse de flot pour recharger $gp
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1661 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-26 12:21:24 +00:00
Xavier Leroy 17a7506ff7 Retour aux conventions standard d'utilisation de $gp
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1658 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-26 09:01:28 +00:00
Xavier Leroy b28dcc9b0b Typo dans le symbole _data_end
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-24 16:02:09 +00:00
Xavier Leroy 5095724f32 Nouvelle architecture des parties dependantes du processeur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1656 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-24 13:36:24 +00:00
Xavier Leroy 119c8eeb67 Nouvelle architecture pour les fichiers dependant du processeur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-24 11:49:12 +00:00
Xavier Leroy 4029d102d8 Bug de GC dans le let rec de valeurs: il ne faut pas ecraser l'en-tete
du bloc par celui du nouveau bloc.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1654 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-23 14:38:14 +00:00
Xavier Leroy 1f30b61e3f Pointeurs d'allocation dans %l5-%l7; considerer %g2-%g4 comme detruits par C
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-18 15:16:19 +00:00
Xavier Leroy a1d42ba48c Typos
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-18 13:47:40 +00:00
Xavier Leroy 7fc323c502 Revision de l'emploi des registres %g2...%g7
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-18 13:35:00 +00:00
Xavier Leroy b149e67a88 Nouveau module Marshal dans stdlib
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1633 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-02 18:16:15 +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
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 fd5ac6e78e compilenv: changement gestion du CRC de l'interface
asmlink, proc*: Sys.command -> Ccomp.command


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1550 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-15 13:22:08 +00:00
Xavier Leroy 30f337081b Utiliser Config.native_partial_linker pour -output-obj
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1403 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-17 13:00:28 +00:00
Xavier Leroy 652ca9ca74 Horrible erreur dans is_simple_expr.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-13 13:14:10 +00:00
Xavier Leroy c8f445d899 Traitement des branchements conditionnels longs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1328 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 16:07:33 +00:00
Xavier Leroy 917193dacd Premiere tentative de traitement des branchements conditionnels longs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 15:32:54 +00:00
Xavier Leroy 6a0ea6385b Rendre desc mutable pour certains emetteurs de code (emit_hppa)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 15:32:26 +00:00
Xavier Leroy b7edfb670f Erreur dans Nativeint.cmp
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1324 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-05 15:35:50 +00:00
Xavier Leroy 274f164366 Representer les constantes entieres par le type Nativeint.t
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1311 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-04 10:19:51 +00:00
Xavier Leroy e8639e7208 Utiliser %r29 au lieu de %r1 pour passer la taille a caml_alloc et caml_call_gc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-03 17:11:35 +00:00
Xavier Leroy 2b0be513f3 Simplification de emit_parts afin d'eviter les problemes de capture de noms avec plusieurs Clet sur le meme id dans la meme liste de sous-expressions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1276 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-17 16:52:44 +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 354fafbf3f Remise a jour du portage PowerPC/AIX: meilleur scheduling, reduction du nombre de TOC entries
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1265 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-14 11:01:56 +00:00
Xavier Leroy e7dee11f42 Traduction plus efficace des switches dont tous les cas sauf 1 ou 2
sont Ustaticfail.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-12 15:18:37 +00:00
Pierre Weis a6c6120f14 Changement des boi^tes de pretty-print
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-04 08:03:29 +00:00
Xavier Leroy d03774a5a0 Suite protage IRIX
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1255 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-03 14:41:42 +00:00
Xavier Leroy 48d0d44146 Suite du portage SGI
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1253 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-03 10:14:54 +00:00
Xavier Leroy e7c777c655 Debut portage SGI
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-01 17:40:41 +00:00
Xavier Leroy 381616258c Meilleur(?) scheduling de l'initialisation de $gp
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1233 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-02 14:15:23 +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 c8a47a2be9 Interdire les stack-to-stack moves.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1222 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-12-10 16:47:02 +00:00
Xavier Leroy 1c3d3b17d2 Rectification portage AIX.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-11-13 13:25:56 +00:00
Xavier Leroy 59cc561027 asmlink: option pour produire un .o
autres: utilisation de Ccomp.create_archive.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1162 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-11-07 10:55:02 +00:00
Xavier Leroy bfa250606e Misc.lowercase -> String.uncapitalize
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1130 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-31 16:03:27 +00:00
Xavier Leroy 9a374eb4d6 Portage 680x0.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-24 16:14:57 +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 456b225d78 Ajout de directives .frame, .mask pour eviter les plantages lorsqu'une
fonction C decide de faire une exception (e.g. exp(-1e10)).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1083 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-21 11:20:56 +00:00
Xavier Leroy bc96b0f934 Correction du mode d'adressage addr - ofs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-16 15:21:51 +00:00
Xavier Leroy 706e26ad1b Utiliser un overflow trap pour detecter les acces hors des tableaux.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-09 13:36:48 +00:00
Xavier Leroy ca8981ba5b Sauver l'adresse courante quand on se branche a call_array_bound_error.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-08 09:31:24 +00:00
Xavier Leroy 6e80760004 Suppression du marquage des adresses de retour dans les stack frames
(ne gagne pas de temps sauf sur KB).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1049 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-07 13:19:48 +00:00
Xavier Leroy 40d5f632ca Retour en arriere sur la modif du Lswitch -- ne fait guere de
difference, le probleme de debordement des sauts conditionnels demeure.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1033 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-27 09:29:21 +00:00
Xavier Leroy ae97b44fe5 Instruction Lswitch: utilisation d'une table de sauts classiques au
lieu du branch special, pour reduire la taille du code.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1032 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-27 08:47:16 +00:00
Xavier Leroy 87acf8c748 Augmenter la limite du nombre de tours d'allocation a 50
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-26 17:13:34 +00:00
Xavier Leroy 2d99580163 Ajout du module Types et d'infos d'environnement dans Typedtree.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1003 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 11:29:48 +00:00
Xavier Leroy f1baf28aa6 Decourager le spilling des registres introduits par reload.
Intel 386: suppression des stack-to-stack moves.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@994 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-18 14:16:16 +00:00
Xavier Leroy 6cb5ca0f1f Exception declaree 2 fois
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@993 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-18 13:29:07 +00:00
Xavier Leroy 4d78025b54 Fonctions de sortie des chaines deplacees entierement dans Emitaux.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@989 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-18 13:23:56 +00:00
Xavier Leroy bc5d0fad00 Recharger en registre le pointeur de code d'un appel calcule.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@988 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-18 12:45:15 +00:00
Xavier Leroy 720ef59b1c Portage Solaris/x86
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-18 12:43:46 +00:00
Xavier Leroy 8c48de9380 emit_i386, proc_i386: autorise les moves de pile vers pile.
proc_*: ajoute 1 parametre "round" aux fonctions reload_*.
asmgen: compter le nombre de rounds de reloading, s'arreter si excessif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@981 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-11 15:59:11 +00:00
Xavier Leroy 7f3dd896c9 cmmgen: nettoyage de remove_unit (bug signale par Bruno Blanchet)
liveness: verifier les variables utilisees et non initialisees
selection: "optimisation" du cas Ctuple [].


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-25 13:15:16 +00:00
Xavier Leroy c63bb44380 Nettoyage terminologique
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@925 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-12 09:15:47 +00:00
Xavier Leroy 653515e094 Fin portage MkLinux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@921 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-05 17:51:14 +00:00
Xavier Leroy eca6a87cff Simplification de la sequence d'appel du GC (pour Elf)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-04 11:44:25 +00:00
Xavier Leroy 76104a251c Suite du portage PowerPC/MkLinux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@917 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-03 18:39:36 +00:00
Xavier Leroy 1130f59602 Adaptation a MkLinux du portage PowerPC
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@916 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-03 16:14:11 +00:00
Xavier Leroy f1d4573081 Readaptation du portage HPPA a NextStep
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-24 14:43:05 +00:00
Xavier Leroy fc52ff530a Portage HPUX, fin
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@898 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-24 13:24:38 +00:00
Xavier Leroy 77ff668587 Portage HPUX, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-23 16:23:18 +00:00
Xavier Leroy 75cdd01fa3 Portage HPUX
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-23 09:27:14 +00:00
Xavier Leroy 0819dc8a4f Suite du portage HPUX
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@894 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-22 14:55:58 +00:00
Xavier Leroy 11b872d37a Portage HPUX, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@892 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-22 11:35:42 +00:00
Xavier Leroy 54de7f5567 Suite portage HPUX
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-22 10:21:51 +00:00
Xavier Leroy b0f2f2e214 Debut de portage HPUX
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-22 07:52:51 +00:00
Xavier Leroy 499d278e36 Suppression de l'alignement a 16 pour le 486
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-22 07:52:38 +00:00
Xavier Leroy e54e23db16 Remise a jour.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@879 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-12 10:04:27 +00:00
Xavier Leroy 3702e4aa5d Faire "call" au lieu de "jmp" pour array_bound_error.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-04 16:01:29 +00:00
Xavier Leroy b6d70eb58b cmmgen: pour le let rec de valeur, passer par modify.
selection: simplification du cas "Cstore", plus de store multiple.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@861 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-04 15:12:08 +00:00
Xavier Leroy 316027b91c Linker le fichier camlstartup.o en premier (pour forcer le link des
.a, en particulier si -linkall).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@842 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-28 12:38:26 +00:00
Xavier Leroy dc6ebc037f Coupure de Ipush_mem en deux instructions pour eviter une recursion croisee entre Arch et Cmm
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@838 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-24 15:17:03 +00:00
Xavier Leroy 48bc00c491 Bug dans la nouvelle sequence d'appel de caml_call_gc.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@826 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-17 15:59:09 +00:00
Xavier Leroy 2a309d688f Ne plus utiliser de registres flottants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@825 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-16 19:39:26 +00:00
Xavier Leroy 33029f6ed5 Push des arguments d'un appel externe
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@820 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-16 14:17:59 +00:00
Xavier Leroy 8d9a5e598f Utilisation de push pour passer les arguments aux fonctions C.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@817 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-16 10:39:23 +00:00
Xavier Leroy 5ada8fe4cb Deplacement du code d'appel du GC a la fin de la fonction. (Meilleure
prediction du branchement.) Nouvelles conventions d'appel de
caml_call_gc (on ne passe plus la taille requise, mais on recommence
l'allocation au retour).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-14 16:53:07 +00:00
Xavier Leroy db7b02911b Adaptation a OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-07 14:37:18 +00:00