Commit Graph

344 Commits (572f784954d9d4f593c7cdb9705959806af34b7d)

Author SHA1 Message Date
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