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