diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-29 08:34:56 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-12 16:21:22 +0900 |
| commit | 3d8a38bea4de5ca3a65ec9bce9359b9c62326f9f (patch) | |
| tree | 3f8ebdcc96896f7cdde31064026ffa588c77776d /src/codedump.c | |
| parent | 639946a006c29f648551512af8aa0bb0cd969412 (diff) | |
| download | mruby-3d8a38bea4de5ca3a65ec9bce9359b9c62326f9f.tar.gz mruby-3d8a38bea4de5ca3a65ec9bce9359b9c62326f9f.zip | |
You don't need to keep index in local variables info in `irep`.
Diffstat (limited to 'src/codedump.c')
| -rw-r--r-- | src/codedump.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/codedump.c b/src/codedump.c index 67bd8754d..24fc94ef7 100644 --- a/src/codedump.c +++ b/src/codedump.c @@ -9,17 +9,9 @@ static void print_r(mrb_state *mrb, const mrb_irep *irep, size_t n) { - size_t i; - if (n == 0) return; - - for (i=0; i+1<irep->nlocals; i++) { - if (irep->lv[i].r == n) { - mrb_sym sym = irep->lv[i].name; - printf(" R%d:%s", (int)n, mrb_sym_dump(mrb, sym)); - break; - } - } + if (n > irep->nlocals) return; + printf(" R%d:%s", (int)n, mrb_sym_dump(mrb, irep->lv[n-1])); } static void @@ -82,9 +74,8 @@ codedump(mrb_state *mrb, const mrb_irep *irep) printf("local variable names:\n"); for (i = 1; i < irep->nlocals; ++i) { - char const *s = mrb_sym_dump(mrb, irep->lv[i - 1].name); - int n = irep->lv[i - 1].r ? irep->lv[i - 1].r : i; - printf(" R%d:%s\n", n, s ? s : ""); + char const *s = mrb_sym_dump(mrb, irep->lv[i - 1]); + printf(" R%d:%s\n", i, s ? s : ""); } } |
