diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-06-01 21:40:11 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-06-01 21:40:11 +0900 |
| commit | 214bc3c95a9e01a7be4d76e94d80be9d9d59bd4b (patch) | |
| tree | 86d7753dd1f3ac31b1cb0a0fa5823712932db445 /src/codegen.c | |
| parent | ddab53e66f2898e178e4e037831f288bdc4bfa0f (diff) | |
| parent | 7e8fb15457f08faf0fd6b7e1d0823140ecee2a60 (diff) | |
| download | mruby-214bc3c95a9e01a7be4d76e94d80be9d9d59bd4b.tar.gz mruby-214bc3c95a9e01a7be4d76e94d80be9d9d59bd4b.zip | |
Merge pull request #2819 from cremno/only-genop-non-lvar-gets-in-val-mode
only generate gets of non-local vars in VAL mode
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/codegen.c b/src/codegen.c index be630b9a8..16233347c 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1911,7 +1911,7 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_GVAR: - { + if (val) { int sym = new_sym(s, sym(tree)); genop(s, MKOP_ABx(OP_GETGLOBAL, cursp(), sym)); @@ -1920,7 +1920,7 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_IVAR: - { + if (val) { int sym = new_sym(s, sym(tree)); genop(s, MKOP_ABx(OP_GETIV, cursp(), sym)); @@ -1929,7 +1929,7 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_CVAR: - { + if (val) { int sym = new_sym(s, sym(tree)); genop(s, MKOP_ABx(OP_GETCV, cursp(), sym)); @@ -1951,7 +1951,7 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_BACK_REF: - { + if (val) { char buf[2] = { '$' }; mrb_value str; int sym; @@ -1965,7 +1965,7 @@ codegen(codegen_scope *s, node *tree, int val) break; case NODE_NTH_REF: - { + if (val) { int sym; mrb_state *mrb = s->mrb; mrb_value fix = mrb_fixnum_value((intptr_t)tree); |
