diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-25 04:03:35 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-25 04:03:35 +0000 |
commit | f00bf242724d40d59a242c6bf9e567d18c9e1872 (patch) | |
tree | b3ec8d99e7f7360152f5813aacc0b3560fed3914 | |
parent | b0156ad08d9ea8f1e352739fc339599153fa7808 (diff) |
Revert r64824 to fix build failure on AppVeyor
AppVeyor msys2/MinGW build started to fail like:
https://ci.appveyor.com/project/ruby/ruby/build/9722/job/b94kixi004klmye3
Until I can investigate that, I revert this for now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | compile.c | 2 | ||||
-rw-r--r-- | defs/id.def | 2 | ||||
-rw-r--r-- | insns.def | 28 | ||||
-rw-r--r-- | test/ruby/test_jit.rb | 8 | ||||
-rw-r--r-- | test/ruby/test_optimization.rb | 10 | ||||
-rw-r--r-- | tool/transform_mjit_header.rb | 2 | ||||
-rw-r--r-- | vm.c | 2 | ||||
-rw-r--r-- | vm_core.h | 2 | ||||
-rw-r--r-- | vm_insnhelper.c | 24 |
9 files changed, 0 insertions, 80 deletions
@@ -3245,8 +3245,6 @@ iseq_specialized_instruction(rb_iseq_t *iseq, INSN *iobj) case idGE: SP_INSN(ge); return COMPILE_OK; case idLTLT: SP_INSN(ltlt); return COMPILE_OK; case idAREF: SP_INSN(aref); return COMPILE_OK; - case idAnd: SP_INSN(and); return COMPILE_OK; - case idOr: SP_INSN(or); return COMPILE_OK; } break; case 2: diff --git a/defs/id.def b/defs/id.def index fe61d254c9..e1a66f5030 100644 --- a/defs/id.def +++ b/defs/id.def @@ -97,8 +97,6 @@ token_ops = %[\ Eqq === EQQ Neq != NEQ Not ! - And & - Or | Backquote ` EqTilde =~ MATCH NeqTilde !~ NMATCH @@ -1216,34 +1216,6 @@ opt_ltlt } } -/* optimized X&Y. */ -DEFINE_INSN -opt_and -(CALL_INFO ci, CALL_CACHE cc) -(VALUE recv, VALUE obj) -(VALUE val) -{ - val = vm_opt_and(recv, obj); - - if (val == Qundef) { - CALL_SIMPLE_METHOD(); - } -} - -/* optimized X|Y. */ -DEFINE_INSN -opt_or -(CALL_INFO ci, CALL_CACHE cc) -(VALUE recv, VALUE obj) -(VALUE val) -{ - val = vm_opt_or(recv, obj); - - if (val == Qundef) { - CALL_SIMPLE_METHOD(); - } -} - /* [] */ DEFINE_INSN opt_aref diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb index 3770faf038..50f318c2a7 100644 --- a/test/ruby/test_jit.rb +++ b/test/ruby/test_jit.rb @@ -478,14 +478,6 @@ class TestJIT < Test::Unit::TestCase assert_compile_once('[1] << 2', result_inspect: '[1, 2]', insns: %i[opt_ltlt]) end - def test_compile_insn_opt_and - assert_compile_once('1 & 3', result_inspect: '1', insns: %i[opt_and]) - end - - def test_compile_insn_opt_or - assert_compile_once('1 | 3', result_inspect: '3', insns: %i[opt_or]) - end - def test_compile_insn_opt_aref skip_on_mswin # optimized call (optimized JIT) -> send call diff --git a/test/ruby/test_optimization.rb b/test/ruby/test_optimization.rb index c425254661..d4a1fdbcea 100644 --- a/test/ruby/test_optimization.rb +++ b/test/ruby/test_optimization.rb @@ -187,16 +187,6 @@ class TestRubyOptimization < Test::Unit::TestCase assert_redefine_method('String', '<<', 'assert_equal "b", "a" << "b"') end - def test_fixnum_and - assert_equal 1, 1&3 - assert_redefine_method('Integer', '&', 'assert_equal 3, 1&3') - end - - def test_fixnum_or - assert_equal 3, 1|3 - assert_redefine_method('Integer', '|', 'assert_equal 1, 3|1') - end - def test_array_plus assert_equal [1,2], [1]+[2] assert_redefine_method('Array', '+', 'assert_equal [2], [1]+[2]') diff --git a/tool/transform_mjit_header.rb b/tool/transform_mjit_header.rb index 1000172352..936a0e1945 100644 --- a/tool/transform_mjit_header.rb +++ b/tool/transform_mjit_header.rb @@ -52,8 +52,6 @@ module MJITHeader 'vm_opt_gt', 'vm_opt_ge', 'vm_opt_ltlt', - 'vm_opt_and', - 'vm_opt_or', 'vm_opt_aref', 'vm_opt_aset', 'vm_opt_aref_with', @@ -1610,8 +1610,6 @@ vm_init_redefined_flag(void) OP(Max, MAX), (C(Array)); OP(Min, MIN), (C(Array)); OP(Call, CALL), (C(Proc)); - OP(And, AND), (C(Integer)); - OP(Or, OR), (C(Integer)); #undef C #undef OP } @@ -531,8 +531,6 @@ enum ruby_basic_operators { BOP_MAX, BOP_MIN, BOP_CALL, - BOP_AND, - BOP_OR, BOP_LAST_ }; diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 29e6545398..29b935803b 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -3653,30 +3653,6 @@ vm_opt_ltlt(VALUE recv, VALUE obj) } static VALUE -vm_opt_and(VALUE recv, VALUE obj) -{ - if (FIXNUM_2_P(recv, obj) && - BASIC_OP_UNREDEFINED_P(BOP_AND, INTEGER_REDEFINED_OP_FLAG)) { - return LONG2NUM(FIX2LONG(recv) & FIX2LONG(obj)); - } - else { - return Qundef; - } -} - -static VALUE -vm_opt_or(VALUE recv, VALUE obj) -{ - if (FIXNUM_2_P(recv, obj) && - BASIC_OP_UNREDEFINED_P(BOP_OR, INTEGER_REDEFINED_OP_FLAG)) { - return LONG2NUM(FIX2LONG(recv) | FIX2LONG(obj)); - } - else { - return Qundef; - } -} - -static VALUE vm_opt_aref(VALUE recv, VALUE obj) { if (SPECIAL_CONST_P(recv)) { |