diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2013-03-05 00:32:38 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2013-03-05 00:32:38 +0900 |
| commit | 6be56ef1fbd21b7791e484006ee5b6e342310812 (patch) | |
| tree | c30fa85001dac9373d9751e65d86dab564db47b4 | |
| parent | 0fd14e53a217ff8618e102080754dd8dbd9f271d (diff) | |
| download | mruby-6be56ef1fbd21b7791e484006ee5b6e342310812.tar.gz mruby-6be56ef1fbd21b7791e484006ee5b6e342310812.zip | |
save/restore arena index for each codedump iteration
| -rw-r--r-- | src/codegen.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/codegen.c b/src/codegen.c index d2640904a..74b6e01f4 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -2375,13 +2375,14 @@ codedump(mrb_state *mrb, int n) { #ifdef ENABLE_STDIO mrb_irep *irep = mrb->irep[n]; - int i; + int i, ai; mrb_code c; if (!irep) return; printf("irep %d nregs=%d nlocals=%d pools=%d syms=%d\n", n, irep->nregs, irep->nlocals, irep->plen, irep->slen); for (i=0; i<irep->ilen; i++) { + ai = mrb_gc_arena_save(mrb); printf("%03d ", i); c = irep->iseq[i]; switch (GET_OPCODE(c)) { @@ -2682,6 +2683,7 @@ codedump(mrb_state *mrb, int n) GETARG_A(c), GETARG_B(c), GETARG_C(c)); break; } + mrb_gc_arena_restore(mrb, ai); } printf("\n"); #endif |
