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
Xavier Leroy
ccdeba9750
emit_i386: bugs dans l'utilisation de testl et dans l'optimisation de
...
Iload(byte)
autres: introduction du flag Proc.rotate_registers, histoire de tasser
les registres sur l'Intel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-25 14:54:47 +00:00
Xavier Leroy
2672272905
Modifs mineures de generation de code.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@357 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-25 13:21:30 +00:00
Xavier Leroy
a66c3bed8d
asmlink: ajout de std_exit au link.
...
proc_*: appel de fonctions C avec beaucoup d'arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@345 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-23 16:55:01 +00:00
Xavier Leroy
ef00b1aa1f
Modif. de emit_string_literal parce que certains assembleurs (GAS 1.92
...
sous FreeBSD) lisent "\0033" comme un caractere de code 033 au lieu de
deux caracteres.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@334 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-16 16:19:36 +00:00
Xavier Leroy
7693edce30
Ajout d'un FINIT avant d'appeler une fonction C, de maniere a liberer
...
tous les registres flottants. Anciennement, on gardait jusqu'a 4
registres occupes, ce qui provoquait un plantage si la fonction C
appelee utilise plus de 4 registres flottants.
Du coup, on passe a 6 le nombre de registres flottants disponibles.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-15 18:55:43 +00:00
Xavier Leroy
eda2f6449b
Nouveau format de .cmo (utilisation de MD5, detection unsafe)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-09 13:37:11 +00:00
Xavier Leroy
65315f212c
Verif de coherence des interfaces: permettre de linker plusieurs .cmo
...
avec le meme nom.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@320 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-04 20:52:43 +00:00
Xavier Leroy
986156eadf
"with" -> "with type".
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@308 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-03 14:02:18 +00:00
Xavier Leroy
ed5c3bffb8
On fait rentrer le cas Cstorechunk / Istore(chunk, ...) dans le cas
...
general des operations. De la sorte, la description du processeur peut
imposer des registres particuliers pour les arguments. C'est le cas du 386.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@286 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-25 14:40:58 +00:00
Xavier Leroy
3063276f8b
closure: correction du bug de (fun x -> x) 1
...
cmmgen: rectification de make_stores pour le cas ou lememe nom est
defini plusieurs fois.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@276 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-19 13:32:17 +00:00
Xavier Leroy
09fb8169aa
proc_sparc: ne pas appeler ranlib si solaris.
...
selection: traiter Istore multi-mot (utilise pour les let rec de valeurs).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@271 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-14 11:52:12 +00:00
Xavier Leroy
264fa25adf
Rectification du tag des tableaux de flottants.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@267 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-13 12:27:41 +00:00
Xavier Leroy
a289240e96
Les decalages immediats ne sont selectionnes que si le decalage est
...
raisonnable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@262 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-11 15:15:03 +00:00
Xavier Leroy
bf26cf7612
Backtrack sur les branchements absolus. Produire du code PIC pour IRIX
...
est plus complique que ca (passer l'adresse de la fonction appelee
dans $25?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@237 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-30 15:36:59 +00:00
Xavier Leroy
f31b8eda9f
Debugging du code pour eviter les branchements absolus.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-30 14:16:45 +00:00
Xavier Leroy
9ae0f88869
Pour IRIX, generation de code sans branchements absolus.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@233 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-30 13:12:36 +00:00
Xavier Leroy
5f4c093fb3
Ajout du spill retarde dans les if...then...else.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-28 11:22:55 +00:00
Xavier Leroy
e065657873
Erreur de syntaxe.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@220 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-25 10:00:30 +00:00
Xavier Leroy
4dc464a8f3
Les arguments de Lreturn ne sont pas critiques
...
(enfin, moins que l'adresse de retour...)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@219 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-25 09:01:22 +00:00
Xavier Leroy
a019da159a
Introduction de Lreloadretaddr.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@217 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-25 08:46:03 +00:00
Xavier Leroy
c9483f27bf
Mise au point du portage Sparc avec scheduling.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@215 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-24 15:12:05 +00:00
Xavier Leroy
441a8baaae
selection: simplification du cas Istore.
...
scheduling: nettoyages mineurs.
emit_*: inutile de masquer l'adresse de retour quand on fait un tailcall.
emit_sparc: remplissage manuel des delay slots
proc_alpha, proc_mips, proc_i386: suppression du scheduling.
proc_alpha: ne pas utiliser le registre $23.
proc_sparc: desactivation du scheduler externe
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@208 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-24 13:21:58 +00:00
Xavier Leroy
0b9972d50f
Ajout du scheduler (a tester serieusement)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-13 09:31:50 +00:00
Xavier Leroy
937fece4e3
Introduction de Lcondbranch3.
...
coloring: plus de variete dans le choix d'un registre.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-12 14:26:23 +00:00
Xavier Leroy
e4066357b1
Ajout des notices de copyright
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy
e2b3ef318d
Portage Solaris. On prevoit plusieurs systemes pour une architecture.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@181 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-08 12:17:31 +00:00
Xavier Leroy
d2ac820e41
emit_alpha: on gratte un cycle sur le Lswitch a 3 cas.
...
emit_sparc: bug dans le transfert reg flottant -> regs entiers non alignes.
emit_i386: faire pop apres l'appel d'une fonction C retournant un flottant;
optimisation cmpl $0 -> testl
proc_i386: plus de contraintes sur div et mod.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@175 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-30 14:26:43 +00:00
Xavier Leroy
5e31133ad0
Alignement des flottants mis dans la pile.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-28 14:17:50 +00:00
Xavier Leroy
1e081aeae3
MAJ tags pour que Infix_tag soit impair.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-28 13:59:46 +00:00
Xavier Leroy
ea3c75ad03
cmmgen: rectification acces generique aux tableaux de flottants.
...
emit_alpha: modifs mineures sur $gp.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@162 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-28 12:19:50 +00:00
Xavier Leroy
ff10bd838d
cmmgen: beaucoup plus d'unboxing de flottants.
...
emit_alpha: recharger ldgp apres un appel direct de fonction C.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@150 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-27 17:38:53 +00:00
Xavier Leroy
4878271adf
Suppression de Cmodify / Imodify.
...
Strength reduction sur les multiplications, divisions, modulo de
puissances de 2.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@147 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 13:04:41 +00:00
Xavier Leroy
9a9e2b16c8
cmmgen: MAJ sur la representation des primitives.
...
proc: ajout du flag word_addressed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@142 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:37:38 +00:00
Xavier Leroy
428f9d2303
emit_i386: MAJ et tests.
...
emit_alpha: utiliser subq pour les comparaisons + branchements.
linearize: suprression moves vides, discard_dead_code ds Lraise.
selection: try...with en tail position.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@135 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-24 12:44:17 +00:00
Xavier Leroy
6ee1e295c0
MAJ portage Sparc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-20 08:30:16 +00:00
Xavier Leroy
15cad20a82
asmgen: changement signification option -S.
...
proc_sparc: appel du scheduler en place.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@127 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-20 07:51:11 +00:00
Xavier Leroy
9ea1269891
linearize: MAJ commentaires.
...
emit_mips: utilisation de lwc1 / stc1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-19 09:56:51 +00:00
Xavier Leroy
2ee785a0c7
MAJ portage Sparc.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@122 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 17:40:23 +00:00
Xavier Leroy
94883083ab
MAJ portage Sparc (a tester).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 13:09:02 +00:00
Xavier Leroy
fafb9d5084
Production des exceptions predefinies par le linker natif.
...
Masquage du bit "frame scanned" sur l'adresse de retour quand on fait
un tailcall.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@114 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:40:44 +00:00
Xavier Leroy
b826ff65bc
Ajout des tests Ieventest et Ioddtest dans Mach.operation
...
Meilleure traduction lambda -> C-- pour les definitions de structures
toplevel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@109 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 16:10:15 +00:00
Xavier Leroy
d0c03529e9
closure: suppression du parametre d'environnement si inutile.
...
cmmgen: prise en compte du flag -compact.
coloring: dissymetrisation des preferences.
interf: ne pas ajouter de preferences entre registres qui conflictent.
emit_mips: masquage du bit "deja scanne" sur les addresses de retour.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 17:16:20 +00:00
Xavier Leroy
7bb1e28d35
Correction de l'appel a call_gc.
...
Utilisation de j au lieu de jal pour lever une exception. (pixie-friendly?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@103 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 12:51:46 +00:00
Xavier Leroy
774ee4e145
cmmgen: compilation des decalages a droite.
...
selection: merge des resultats des branches d'un switch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@99 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 09:00:54 +00:00
Xavier Leroy
882355e58b
emit_alpha, asmlink: generation d'une directive .file.
...
closure: mecanique de partage des cas de switch revue.
cmmgen: on evite d'emettre plusieurs fois la meme fonction (peut se
produire suite a un departage de orpat).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@95 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:32:09 +00:00
Xavier Leroy
06dd9ab2de
emit_alpha: Idiv, Imod ont besoin de $gp.
...
interf: diminuer le poids des preferences dans les branches des
conditionnelles.
selection: mettre contains_calls a true s'il y a un trywith
(necessaire pour le Mips).
spill: backtrack sur le spilling retarde, qui ne marche pas du tout.
(Il retarde le spilling jusqu'apres un point de destruction!)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@88 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:25:41 +00:00
Xavier Leroy
eb0dbcb903
Ajout de asmlibrarian, MAJ de asmlink.
...
clambda, closure: meilleure detection des fonctions closes.
selection: correction de storechunk.
spill: spill retarde dans les conditionnelles.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@79 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:03:29 +00:00
Xavier Leroy
650284680e
cmmgen: correction de Pnegfloat; modifs mineures dans l'adressage des tableaux.
...
proc_alpha: MAJ commentaires.
selection: les ops flottantes ne sont plus considerees comme "cheap",
pour leur laisser plus de temps pour se terminer.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@73 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:51:10 +00:00
Xavier Leroy
c226d5efeb
Branchement du GC de la version bytecode sur le compilateur natif
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@72 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-10 09:48:27 +00:00
Xavier Leroy
bbbf6d0164
Ajout construction "checkbounds" dans C--.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@71 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 16:42:05 +00:00
Xavier Leroy
5c09b581c8
On rend $gp callee-save et on fait ldgp seulement si necessaire
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@70 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 16:14:06 +00:00
Xavier Leroy
88c9b7656e
Ne rien reloader dans les arguments des appels de fonction.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@68 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:11:24 +00:00
Xavier Leroy
679ed6c0b3
Passage au truc d'Appel pour les fermetures de fonctions mutuellement
...
recursives.
Changement du layout de try ... with ...
Correction de bugs dans la generation des descripteurs de frames.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@64 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:07:07 +00:00
Xavier Leroy
48514aaca8
Integration du generateur de code et du compilateur.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@51 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:41:48 +00:00
Xavier Leroy
41bd2b6153
Fermetures representees en un seul bloc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@49 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-22 10:11:18 +00:00
Xavier Leroy
ba79d4bd1f
Iloop est maintenant une boucle infinie, on en sort par catch...exit.
...
Ca supprime Ilooptest, Ialwaystrue, Ialwaysfalse.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@36 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-15 16:08:53 +00:00
Xavier Leroy
3ceaa85c72
Premiere version.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@34 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-15 08:17:29 +00:00