Commit Graph

4266 Commits (27934ab79a7ee3a62e78c3bfea489d0def8ff7e2)

Author SHA1 Message Date
Xavier Leroy 02d8ae6d60 Separation des compilos C pour le bytecode / pour le compilo natif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@118 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:42:01 +00:00
Xavier Leroy 5b5cb38a31 MAJ suite a la separation de compilos C pour le bytecode / pour le
compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@117 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:41:46 +00:00
Xavier Leroy ef5d1c3fb2 MAJ du Makefile suite a la separation de compilos C pour le bytecode /
pour le compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@116 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:41:30 +00:00
Xavier Leroy a7d2358319 Production des exceptions predefinies par le linker natif.
MAJ du Makefile suite a la separation de compilos C pour le bytecode /
pour le compilo natif.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@115 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:41:12 +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 7cb817b8dd Separation compilo C pour le bytecode / pour le compilo natif.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-18 08:39:40 +00:00
Xavier Leroy 0a0580379a MAJ conventions de caml_c_call.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@112 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 16:11:32 +00:00
Xavier Leroy 3e935fb501 Nettoyages dans l'espoir d'aller un poil plus vite.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-17 16:11:08 +00:00
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