diff options
author | Benjamin Gregoire <Benjamin.Gregoire@inria.fr> | 2015-03-26 19:00:00 +0100 |
---|---|---|
committer | Benjamin Gregoire <Benjamin.Gregoire@inria.fr> | 2015-03-26 19:00:00 +0100 |
commit | 00894adf6fc11f4336a3ece0c347676bbf0b4c11 (patch) | |
tree | a3d46465df90fac47629a483f6cd75be40d9656e /kernel/byterun/coq_fix_code.c | |
parent | f920ae56ffacf80f85dcf33d3f1ccf0acb4375b1 (diff) |
allows the vm to deal with inductive type with 8388607 constant constructors and 8388851 non-constant constructor.
Diffstat (limited to 'kernel/byterun/coq_fix_code.c')
-rw-r--r-- | kernel/byterun/coq_fix_code.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/byterun/coq_fix_code.c b/kernel/byterun/coq_fix_code.c index 52dc49bf8..f1f9c9215 100644 --- a/kernel/byterun/coq_fix_code.c +++ b/kernel/byterun/coq_fix_code.c @@ -150,8 +150,8 @@ value coq_tcode_of_code (value code, value size) { uint32_t i, sizes, const_size, block_size; COPY32(q,p); p++; sizes=*q++; - const_size = sizes & 0xFFFF; - block_size = sizes >> 16; + const_size = sizes & 0x7FFFFF; + block_size = sizes >> 23; sizes = const_size + block_size; for(i=0; i<sizes; i++) { COPY32(q,p); p++; q++; }; } else if (instr == CLOSUREREC || instr==CLOSURECOFIX) { |