Commit Graph

507 Commits (8296428f173fb395f3e880ae1e020feb07ea5dc3)

Author SHA1 Message Date
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
Xavier Leroy 610f0aa0d0 MAJ pour OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@801 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-07 13:48:36 +00:00
Xavier Leroy 757bc07141 MAJ pour ocaml.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-07 13:09:26 +00:00
Xavier Leroy be79122e11 MAJ pour OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@797 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-07 09:36:54 +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 ed86e5adfa *_sparc: Ajout de NetBSD pour Sparc.
Autres: ajout d'un flag -linkall dans les bibliotheques.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@743 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-18 16:26:54 +00:00
Xavier Leroy a9aac029f6 Conserver l'alignement a 8 de la pile pendant intoffloat et floatofint.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@741 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-09 15:30:48 +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 3f8f3d67f4 Toujours sauver et restaurer $gp si la fonction contient un try...with...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@703 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-03-15 17:35:35 +00:00
Xavier Leroy 669bf28452 Ajout des instructions negf et absf (negation flottante, valeur
absolue flottante).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-03-07 13:45:17 +00:00
Xavier Leroy 152811c10c Ajout des fichiers specifiques machine pour le x86 sous NT
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@659 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-22 12:55:16 +00:00
Xavier Leroy 4944ea26b4 Faire "pop %esi" pour nettoyer un stack frame de taille 4 n'est pas
correct si on tailcall une fonction avec 5 parametres ou plus...
Suppression de cette optimisation stupide.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-22 10:24:14 +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 0b95ce66d8 proc_mips: as -nocpp
les autres: ajout de la table des segments de donnees structurees
produites par le generateur de code.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@645 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-20 10:59:12 +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 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 f66c567233 liveness: mettre dans les noeuds Iexit un live_across raisonnable.
split: pour les noeuds Iexit, utiliser i.live et non i.next.live.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@610 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-11 14:15:23 +00:00
Xavier Leroy 8edc1e2149 Rectif de float_needs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-09 20:45:09 +00:00
Xavier Leroy b79f609a22 Utilisation de l'algo d'Ershov pour reduire les besoins en pile flottante.
Detection des debordements.
Ajout des instructions soustraction inversee / division inversee.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-09 18:18:11 +00:00
Xavier Leroy 05e3b8624a Rectification de l'acces aux parametres passes sur la pile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@605 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-08 13:08:50 +00:00
Xavier Leroy 7938a9b552 Peaufinage de tailcall_imm
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@603 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-08 11:07:29 +00:00
Xavier Leroy 8f5e150e48 Nettoyage portage PowerPC. Ajout de Config.model.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-07 17:00:35 +00:00
Xavier Leroy 9c85a54888 Portage PowerPC
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@595 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-06 18:56:39 +00:00
Xavier Leroy 084a74c1da Si une sous-expr est compliquee et l'autre simple, les pops flottants sur le 386 se faisaient dans le mauvais ordre. Pour eviter ca, ajout de moves dans emit_parts si le resultat est dans des registres nommes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@594 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-06 11:13:50 +00:00
Xavier Leroy b62b7f4933 Utilisation de Filename.temp_file au lieu de Misc.temp_file.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@583 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-01-04 12:49:06 +00:00
Xavier Leroy d25da17a85 Commentaire non pertinent
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@578 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-27 11:04:31 +00:00
Xavier Leroy 5e8035888a Ajout signaux pour HPPA
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@574 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-22 14:55:47 +00:00
Xavier Leroy db156ddbca %g7 contient l'adresse de young_limit et non pas sa valeur,
car c'est impossible sous SunOS 4 de modifier %g7 depuis le signal handler.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@566 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-21 13:20:23 +00:00
Xavier Leroy 0ad6877907 Signaux: premier jet
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-21 11:01:45 +00:00
Xavier Leroy b7267f4e87 Suite a l'optimisation des lets, un meme identificateur peut
apparaitre plusieurs fois dans la liste d'initialisation d'une
structure toplevel.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@560 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-20 14:27:04 +00:00
Xavier Leroy 888a713c5e Support pour callback.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@550 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-19 15:09:10 +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 06c105eff2 Retour en arriere sur les stores initialisants. Completement inefficace.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@546 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-17 16:24:34 +00:00
Xavier Leroy f6da05e9ad Scheduling plus agressif des remplissages de blocs alloues
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@545 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-17 15:45:28 +00:00
Xavier Leroy f43d797279 Fin du passage aux routines de bibliotheque .mul .div .mod
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@544 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-17 13:43:22 +00:00
Xavier Leroy 7791871296 Ne pas employer les instructions smul et sdiv. Appeler les fns de bibliotheque a la place
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@543 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-17 13:18:37 +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 9ceb1b4c9a Placement des tables de switch en zone donnee. Evite (parait-il) un conflit entre les caches I et D du Pentium
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-12 17:15:39 +00:00
Xavier Leroy cb5c1ec29e Utilisation de l'instruction fld1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-11 10:01:20 +00:00
Xavier Leroy 514026d3fe Erreur dans Iintoffloat quand l'arg est au sommet de la pile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-10 16:41:38 +00:00
Xavier Leroy f419b85ae6 Fin modifs des flottants pour le 386. Optimisation division et modulo par une puissance de 2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-10 15:52:07 +00:00
Xavier Leroy 1f8a4f6da7 Reecriture du flottant I386 pour utiliser vraiment la pile de registres flottants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-10 09:31:57 +00:00
Xavier Leroy 10574703f3 Fin modif detection acces hors borne.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@511 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-05 14:51:21 +00:00
Xavier Leroy b89eaae0b7 Modif du traitement des acces hors bornes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-05 13:07:08 +00:00
Xavier Leroy 4ecc18b109 Bug sur les references vers des flottants deboxes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@499 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-30 12:33:31 +00:00
Xavier Leroy 30e7ba9b7a 2 registres de plus pour les arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@492 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-29 10:17:23 +00:00
Xavier Leroy 4e3fad8801 Recification des comparaisons flottantes IEEE.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@488 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-28 15:43:41 +00:00
Xavier Leroy 3686d2232a Debug des nouvelles comparaisons flottantes IEEE.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@484 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-28 14:42:48 +00:00
Xavier Leroy e5ef0b6f16 Changement des comparaisons flottantes pour etre conforme a IEEE.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-28 14:25:57 +00:00
Xavier Leroy d3397b6cb3 Garder les stamps de registres petits, car interf alloue en N^2 ou N est le plus grand stamp
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-27 19:41:15 +00:00
Xavier Leroy bff096758b interf: il faut garantir que toutes les preferences ont un poids > 0.
Une preference de poids 0 peut en effet rendre assignable un registre
interdit.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@475 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-27 14:12:14 +00:00
Xavier Leroy feac66d0ed MAJ pour la nouvelle convention de nommage des registres vivants (2n+1 au lieu de -1-n)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@470 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-26 20:17:06 +00:00
Xavier Leroy d5e6bca0cf MAJ commentaires conventions d'appel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@468 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-26 14:41:02 +00:00
Xavier Leroy 09fc490852 Portage HP-PA
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-26 14:38: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 a468a7181d Utiliser FFREE au lieu de FINIT
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-25 15:37:33 +00:00
Xavier Leroy 6ded20c275 Corrections diverses
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-19 16:53:12 +00:00
Xavier Leroy 3a7f4f09aa Correction d'un bug dans discard_dead_code qui desequilibrait la pile
sur du code de la forme "try ...; raise Foo with Bar -> ..."


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-16 16:41:18 +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 bd6a78bbe5 asmlink: balayage des fichiers dans le mauvais ordre.
emit_alpha: typo dans un nom d'instruction.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@402 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-06 11:04:55 +00:00
Xavier Leroy ac43578677 Amelioration du flottant dans la version Intel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-05 17:28:42 +00:00
Xavier Leroy 38656255c9 Bug dans Iintoffloat: le control word n'etait pas restaure
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@395 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-03 17:22:25 +00:00
Xavier Leroy fb8ca52f35 MAJ fichiers .cvsignore apres renommage des compilos de bootstrap
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@390 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-02 14:14:53 +00:00
Xavier Leroy 62d65b8e2b Fin du portage pour Linux ELF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-31 10:47:35 +00:00
Xavier Leroy f349d56122 Support pour Linux avec binaires ELF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@377 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-31 09:27:04 +00:00
Xavier Leroy 9bfaeb0ed5 spill: ne pas compter les pseudo-registres deja alloues en pile.
split: ne pas renommer les pseudo-registres deja alloues


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@365 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-29 14:37:01 +00:00
Xavier Leroy 4f97e08558 cmmgen: damned, j'avais oublie une conversion de constante.
emit_sparc: typo.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@364 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-26 16:40:23 +00:00
Xavier Leroy a29f056eb7 cmmgen: faire attention aux debordements quand on convertit un entier
en sa representation 2n+1.
cmm, printcmm, emit*: ajout de Cintlit au type Cmm.data_item.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@360 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-26 16:23:25 +00:00