aboutsummaryrefslogtreecommitdiff
path: root/kernel/byterun/coq_fix_code.c
diff options
context:
space:
mode:
authorBenjamin Gregoire2015-03-30 10:47:12 +0200
committerBenjamin Gregoire2015-03-30 10:49:27 +0200
commit596a4a5251cc50f50bd6d25e36c81341bf65cfed (patch)
treef656bd4e4aea17d79e9d86b7de7a6657de748df5 /kernel/byterun/coq_fix_code.c
parentab299ba2d7d9ff18d65cc999dca127d2ce5e9c5d (diff)
fix code and bound for SWITCH instruction.
Diffstat (limited to 'kernel/byterun/coq_fix_code.c')
-rw-r--r--kernel/byterun/coq_fix_code.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/byterun/coq_fix_code.c b/kernel/byterun/coq_fix_code.c
index f1f9c92153..1be3e65113 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 & 0x7FFFFF;
- block_size = sizes >> 23;
+ const_size = sizes & 0xFFFFFF;
+ block_size = sizes >> 24;
sizes = const_size + block_size;
for(i=0; i<sizes; i++) { COPY32(q,p); p++; q++; };
} else if (instr == CLOSUREREC || instr==CLOSURECOFIX) {