diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2018-03-22 17:49:13 +0100 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2018-04-30 09:44:24 +0200 |
commit | 74f6c8c40942d57ea66d9f28bd15309ce59438b6 (patch) | |
tree | 0e8b48eb936c7a9a8b2678a38b7c1a3973e8764b /kernel/byterun/coq_fix_code.h | |
parent | c1e12fbc64c39739e4a9f7bbf92e42f1bcb6be24 (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.h | 2 |
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); |