summaryrefslogtreecommitdiffhomepage
path: root/src/codedump.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-06-29 08:34:56 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 16:21:22 +0900
commit3d8a38bea4de5ca3a65ec9bce9359b9c62326f9f (patch)
tree3f8ebdcc96896f7cdde31064026ffa588c77776d /src/codedump.c
parent639946a006c29f648551512af8aa0bb0cd969412 (diff)
downloadmruby-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.c17
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 : "");
}
}