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