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