summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-23 00:55:29 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-23 00:55:29 +0000
commit2a723132e92b14fd6be25d13c791c719685850f5 (patch)
tree48a91720b0dd6e76fcef1ef31d6af4144e0e9242 /iseq.c
parente3f46b1dc5f919a5ddd2893b8ca268c523e4e5d9 (diff)
iseq.c: local variable names
* iseq.c (rb_insn_operand_intern): simplified the condition for local variable names, assume TS_LINDEX and TS_NUM combinations are only for local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/iseq.c b/iseq.c
index 176d3abece..643bd5d7a8 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1433,14 +1433,8 @@ rb_insn_operand_intern(const rb_iseq_t *iseq,
case TS_LINDEX:{
int level;
- if (insn == BIN(getlocal) || insn == BIN(setlocal) ||
- insn == BIN(getblockparam) || insn == BIN(setblockparam)) {
- if (pnop) {
- ret = local_var_name(iseq, *pnop, op);
- }
- else {
- ret = rb_sprintf("%"PRIuVALUE, op);
- }
+ if (types[op_no+1] == TS_NUM && pnop) {
+ ret = local_var_name(iseq, *pnop, op);
}
else if ((level = rb_insn_unified_local_var_level(insn)) >= 0) {
ret = local_var_name(iseq, (VALUE)level, op);