diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1998-04-06 09:15:55 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1998-04-06 09:15:55 +0000 |
commit | ea8fe59ea07cb8da82c8581d8cf0c9d844867375 (patch) | |
tree | 61e86e83bf329920d4af220a47867f682a10d099 /bytecomp/instruct.ml | |
parent | d83bfc2f72be1d4861369eb80ecce0a3a29c2f79 (diff) |
Adoption des memes representations que dans ocamlopt pour les tableaux de flottants et les fonctions mutuellement recursives.
Simplification de la compilation du let rec de valeurs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp/instruct.ml')
-rw-r--r-- | bytecomp/instruct.ml | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/bytecomp/instruct.ml b/bytecomp/instruct.ml index d37523d59..7357d1f86 100644 --- a/bytecomp/instruct.ml +++ b/bytecomp/instruct.ml @@ -15,8 +15,8 @@ open Lambda type compilation_env = { ce_stack: int Ident.tbl; - ce_heap: int Ident.tbl } - + ce_heap: int Ident.tbl; + ce_rec: int Ident.tbl } type debug_event = { mutable ev_pos: int; (* Position in bytecode *) @@ -60,15 +60,17 @@ type instruction = | Krestart | Kgrab of int (* number of arguments *) | Kclosure of label * int - | Kclosurerec of label * int + | Kclosurerec of label list * int + | Koffsetclosure of int | Kgetglobal of Ident.t | Ksetglobal of Ident.t | Kconst of structured_constant | Kmakeblock of int * int (* size, tag *) + | Kmakefloatblock of int | Kgetfield of int | Ksetfield of int - | Kdummy of int - | Kupdate of int + | Kgetfloatfield of int + | Ksetfloatfield of int | Kvectlength | Kgetvectitem | Ksetvectitem |