summaryrefslogtreecommitdiffstats
path: root/bytecomp/instruct.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1998-04-06 09:15:55 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1998-04-06 09:15:55 +0000
commitea8fe59ea07cb8da82c8581d8cf0c9d844867375 (patch)
tree61e86e83bf329920d4af220a47867f682a10d099 /bytecomp/instruct.ml
parentd83bfc2f72be1d4861369eb80ecce0a3a29c2f79 (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.ml12
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