aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/byterun/coq_fix_code.h
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-03-22 17:49:13 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-04-30 09:44:24 +0200
commit74f6c8c40942d57ea66d9f28bd15309ce59438b6 (patch)
tree0e8b48eb936c7a9a8b2678a38b7c1a3973e8764b /kernel/byterun/coq_fix_code.h
parentc1e12fbc64c39739e4a9f7bbf92e42f1bcb6be24 (diff)
Wrap VM bytecode used on the OCaml side in an OCaml block.
This prevents the existence of a few naked pointers to C heap from the OCaml heap. VM bytecode is represented as any block of size at least 1 whose first field points to a C-allocated string. This representation is compatible with the Coq VM representation of (potentially recursive) closures, which are already specifically tailored in the OCaml GC to be able to contain out-of-heap data.
Diffstat (limited to 'kernel/byterun/coq_fix_code.h')
-rw-r--r--kernel/byterun/coq_fix_code.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/byterun/coq_fix_code.h b/kernel/byterun/coq_fix_code.h
index 5c85389dd..638d6b5ab 100644
--- a/kernel/byterun/coq_fix_code.h
+++ b/kernel/byterun/coq_fix_code.h
@@ -26,7 +26,7 @@ void init_arity();
#define Is_instruction(pc,instr) (*pc == VALINSTR(instr))
-value coq_tcode_of_code(value code, value len);
+value coq_tcode_of_code(value code);
value coq_makeaccu (value i);
value coq_pushpop (value i);
value coq_is_accumulate_code(value code);