Commit Graph

20 Commits (ef689c7bf2c5ed777303db62b0959f846b690ec3)

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