aboutsummaryrefslogtreecommitdiffstats
path: root/compile.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-09-26 09:34:46 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-09-26 09:34:46 +0000
commit1bebb22ce16c6129a805adad83e0f1e29f3874a0 (patch)
tree5b6f7577de49c048fab45e5c293b01824f494e03 /compile.c
parent24793ac32db538306899aed7ba588b7231f93a95 (diff)
downloadruby-1bebb22ce16c6129a805adad83e0f1e29f3874a0.tar.gz
* insns.def: add new instruction `opt_empty_p' for optimize `empty?'
method. Apply a patch proposed at [ruby-dev:46120] [ruby-trunk - Feature #6972] by Glass_saga (Masaki Matsushita). * compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h: ditto. * id.c, template/id.h.tmpl: ditto. * test/ruby/test_optimization.rb: test for this changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/compile.c b/compile.c
index 2f8cbb51cd..368e3cf6db 100644
--- a/compile.c
+++ b/compile.c
@@ -1872,6 +1872,7 @@ iseq_specialized_instruction(rb_iseq_t *iseq, INSN *iobj)
switch (mid) {
case idLength: SP_INSN(length); break;
case idSize: SP_INSN(size); break;
+ case idEmptyP: SP_INSN(empty_p);break;
case idSucc: SP_INSN(succ); break;
case idNot: SP_INSN(not); break;
}