Commit Graph

6108 Commits (1a6304bd80128f04b4afeef65f1cb655d990287d)

Author SHA1 Message Date
Xavier Leroy 7005c1670d Suppression d'une indirection sur les globaux.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@110 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 16:10:45 +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 efa7a2fe70 Initial revision
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@108 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 15:58:46 +00:00
Xavier Leroy 71631bdaa7 Ajout option -compact.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@107 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 17:17:20 +00:00
Xavier Leroy 8137de9583 Pour le MIPS, implementation du bit "deja scanne".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 17:16:52 +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 e59f5521a0 mips.asm: utilisation de "j" au lieu de "jal" pour lever une
exception.
Makefile: on n'utilise plus VPATH.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@104 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 12:52:37 +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 4cac7cd8a6 Affichage des CRC.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@102 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 09:02:55 +00:00
Xavier Leroy 0c8b586da0 compare.c hash.c mlvalues.h: redefinition de Is_atom a l'aide de &end
pour que les constantes structurees produites par le compilo natif
apparaissent comme des atomes et qu'on descende dedans dans equal et
hash.
ints.c: rectification de format_int pour qu'il formatte des long, pas
des int.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@101 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 09:02:41 +00:00
Xavier Leroy 997d43903b make depend rectifie.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@100 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 09:01:23 +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 736e736a4a MAJ.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@98 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-13 08:59:32 +00:00
Xavier Leroy a14b23fd2d Bidouillage d'un commentaire pour que camldep ne produise pas de
dependance circulaire.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@97 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:32:54 +00:00
Xavier Leroy 2c4565e939 Deplacement du module meta.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@96 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:32:29 +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 02a11f275f Deplacement de utils/meta vers bytecomp/meta pour ne pas gener le
compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@94 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 15:30:16 +00:00
Xavier Leroy bf380e0b18 Modif des actions: elles prennent maintenant l'environnement de
parsing en argument et le repassent a peek_val. Ca donne du code plus
compact pour le compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@93 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:29:52 +00:00
Xavier Leroy a26c95465f Si un .mli n'a pas de .ml, ne pas faire dependre qquechose sur le .cmx.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@92 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:29:13 +00:00
Xavier Leroy a2ef5d8714 Modif des actions des parsers produits par camlyacc: elles prennent
l'env en premier argument et le repassent a peek_val (plus efficace
pour le compilateur natif).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@91 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:28:51 +00:00
Xavier Leroy 2241e743e2 Un #endif etait non strictement ANSI...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@90 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:28:09 +00:00
Xavier Leroy a60e6cc08a Makefile: utilisation de VPATH pour pouvoir employer un compilo C
different de celui du runtime bytecode.
roots.c: ajout du Mips.
alpha.asm: on emploie $25 dans raise_exception pour garder trace du raise.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@89 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:27:10 +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 f443cb76fd Ajout entrees pour le bootstrap du compilo natif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@87 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-12 14:22:01 +00:00
Xavier Leroy f2237ca6ba Eclatement de meta.c en obj.c et meta.c
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@86 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:09:15 +00:00
Xavier Leroy 102e3d3c5a MAJ suite a C_CALL5.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@85 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:08:39 +00:00
Xavier Leroy ce85e0c456 Construction de stdlib.cmxa
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@84 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:08:25 +00:00
Xavier Leroy 0536e5c6eb Ajout de Asmlibrarian.
Librarian -> Bytelibrarian.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@83 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:07:53 +00:00
Xavier Leroy e8c57efb59 Ajout de l'instruction C_CALL5.
meta.c eclate en obj.c et meta.c.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@82 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:07:22 +00:00
Xavier Leroy bf3897a27a MAJ du linker et du librarian.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@81 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:05:47 +00:00
Xavier Leroy a68e40d65f Suppression de lexing.o.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@80 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:04:10 +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 9a1b27b1a9 Ajout de asmlibrarian.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@78 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 18:02:00 +00:00
Xavier Leroy 7068ced583 Lexing.get_next_char est maintenant en ML.
Utilisation des primitives %floatofint et %intoffloat.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@77 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:54:13 +00:00
Xavier Leroy c56071ab56 Suppression de lexing.c (Lexing.get_next_char est maintenant en ML).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@76 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:53:37 +00:00
Xavier Leroy 0fed8751e2 Introduction de Pintoffloat et Pfloatofint.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@75 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:53:14 +00:00
Xavier Leroy 0053975357 Rectification de caml_bottom_of_stack dans caml_c_call.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@74 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-11 08:51:58 +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 fd755dcfaa Ajout du mini-GC.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@69 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:11:38 +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 cd93956a7b Curryfication de Format.print_break.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@67 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:09:01 +00:00
Xavier Leroy 7d761dd6df MAJ des conventions d'appel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@66 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:08:38 +00:00
Xavier Leroy 04bb5a15c6 Integration du mini-GC.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@65 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:07:32 +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 e2486a832c Nettoyage du bootstrap.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@63 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-07 12:04:35 +00:00
Xavier Leroy 29f209ec01 Preprocesseur pour les emetteurs de code du compilo natif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@62 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:53:54 +00:00
Xavier Leroy b827a47052 Fichiers drivers pour le compilo natif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@61 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:51:07 +00:00