diff options
| author | Guillaume Melquiond | 2020-08-26 11:40:24 +0200 |
|---|---|---|
| committer | Guillaume Melquiond | 2020-09-22 14:55:15 +0200 |
| commit | 27695b52413f9fd6bcb60d77e0bdba538c16201f (patch) | |
| tree | ac1466e3d2807ea52ed274fe9678f7343ee6b70b /kernel/byterun/coq_memory.c | |
| parent | 2d63a61a991ab42f2124775b184898d7af6725dd (diff) | |
Use the closure tag for accumulators.
The first field of accumulators points out of the OCaml heap, so using
closures instead of tag-0 objects is better for the GC.
Accumulators are distinguished from closures because their code pointer
necessarily is the "accumulate" address, which points to an ACCUMULATE
instruction.
Diffstat (limited to 'kernel/byterun/coq_memory.c')
| -rw-r--r-- | kernel/byterun/coq_memory.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/byterun/coq_memory.c b/kernel/byterun/coq_memory.c index 6233675c66..ae5251c252 100644 --- a/kernel/byterun/coq_memory.c +++ b/kernel/byterun/coq_memory.c @@ -108,7 +108,7 @@ value init_coq_vm(value unit) /* ML */ init_coq_interpreter(); /* Some predefined pointer code. - * It is typically contained in accumulator blocks whose tag is 0 and thus + * It is typically contained in accumulator blocks and thus might be * scanned by the GC, so make it look like an OCaml block. */ value accu_block = (value) coq_stat_alloc(2 * sizeof(value)); Hd_hp (accu_block) = Make_header (1, Abstract_tag, Caml_black); \ |
