diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2015-07-04 14:22:08 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2015-07-05 02:00:07 +0200 |
commit | a51cce369b9c634a93120092d4c7685a242d55b1 (patch) | |
tree | dd68ea8dadf86f9a6eb400839f515ed5b9cf8f95 /kernel/cbytecodes.mli | |
parent | 31c7542731a62f56bd60f443a84d68813f8780a8 (diff) |
Fix handling of primitive projections in VM.
I'm pushing this patch now because the previous treatment of such projections
in the VM was already unsound. It should however be carefully reviewed.
Diffstat (limited to 'kernel/cbytecodes.mli')
-rw-r--r-- | kernel/cbytecodes.mli | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/cbytecodes.mli b/kernel/cbytecodes.mli index d9998c89e..745ef311b 100644 --- a/kernel/cbytecodes.mli +++ b/kernel/cbytecodes.mli @@ -25,6 +25,7 @@ val last_variant_tag : tag type structured_constant = | Const_sorts of sorts | Const_ind of pinductive + | Const_proj of Constant.t | Const_b0 of tag | Const_bn of tag * structured_constant array @@ -72,6 +73,8 @@ type instruction = | Ksetfield of int | Kstop | Ksequence of bytecodes * bytecodes + | Kproj of int * Constant.t (** index of the projected argument, + name of projection *) (** spiwack: instructions concerning integers *) | Kbranch of Label.t (** jump to label, is it needed ? *) |