diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-14 17:32:30 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-14 17:32:30 +0900 |
| commit | 9184d254e23c14a67b5b1aa5dc5dbbbf747a9ff6 (patch) | |
| tree | bde5cc097e632ebb83a03c9e2c46ace0db80cd76 /src/load.c | |
| parent | 7a5d8a40fecb89c4f9fbbce46a12595f26a71260 (diff) | |
| download | mruby-9184d254e23c14a67b5b1aa5dc5dbbbf747a9ff6.tar.gz mruby-9184d254e23c14a67b5b1aa5dc5dbbbf747a9ff6.zip | |
resize register number in LVAR section from 32bits to 16bits
Diffstat (limited to 'src/load.c')
| -rw-r--r-- | src/load.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/load.c b/src/load.c index dc5a5bf06..89a5f7cd2 100644 --- a/src/load.c +++ b/src/load.c @@ -408,7 +408,7 @@ read_lv_record(mrb_state *mrb, const uint8_t *start, mrb_irep *irep, size_t *rec irep->lv = (struct mrb_locals*)mrb_malloc(mrb, sizeof(struct mrb_locals) * (irep->nlocals - 1)); - for (i = 0; i < (irep->nlocals - 1); ++i) { + for (i = 0; i + 1< irep->nlocals; ++i) { uint16_t const sym_idx = bin_to_uint16(bin); bin += sizeof(uint16_t); if (sym_idx >= syms_len) { @@ -416,8 +416,8 @@ read_lv_record(mrb_state *mrb, const uint8_t *start, mrb_irep *irep, size_t *rec } irep->lv[i].name = syms[sym_idx]; - irep->lv[i].r = bin_to_uint32(bin); - bin += sizeof(uint32_t); + irep->lv[i].r = bin_to_uint16(bin); + bin += sizeof(uint16_t); } for (i = 0; i < irep->rlen; ++i) { |
