summaryrefslogtreecommitdiff
path: root/insns.def
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-27 14:47:30 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-27 14:47:30 +0000
commit86a8b820d636a36ddc49f9c906f5d0744dd3ef23 (patch)
tree960d4ea17a28520c509671c80c9fb6865143f57f /insns.def
parent93fba33b47524f24b018c09b79a01712a5605093 (diff)
* insns.def (opt_case_dispatch), vm_insnhelper.c:
execute the procedures of "when" clauses by bytecode instead of st_foreach() when the object does not hit prepared hash. [ruby-dev:42304] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r--insns.def16
1 files changed, 2 insertions, 14 deletions
diff --git a/insns.def b/insns.def
index 6db675214a..3d5eeeb97b 100644
--- a/insns.def
+++ b/insns.def
@@ -1281,20 +1281,8 @@ opt_case_dispatch
}
break;
}
- default: { /* fall through (else) */
- struct opt_case_dispatch_i_arg arg;
-
- arg.obj = key;
- arg.label = -1;
- st_foreach(RHASH_TBL(hash), opt_case_dispatch_i, (st_data_t)&arg);
-
- if (arg.label != -1) {
- JUMP(arg.label);
- }
- else {
- JUMP(else_offset);
- }
- }
+ default:
+ break;
}
}