Remove obsoleted opt_call_c_function insn (#3232)

* Remove obsoleted opt_call_c_function insn

* Keep opt_call_c_function with DEFINE_INSN_IF
This commit is contained in:
Takashi Kokubun 2020-06-17 09:16:01 -07:00 committed by GitHub
parent e30ff63fd4
commit e544a3a23c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
Notes: git 2020-06-18 01:16:34 +09:00
Merged-By: k0kubun <takashikkbn@gmail.com>
5 changed files with 6 additions and 10 deletions

View File

@ -412,8 +412,6 @@ tests = [
class String; def =~ other; true; end; end class String; def =~ other; true; end; end
'true' =~ /true/ 'true' =~ /true/
}, },
[ 'opt_call_c_function', 'Struct.new(:x).new.x = true', ],
] ]
# normal path # normal path

View File

@ -1455,7 +1455,7 @@ opt_regexpmatch2
} }
/* call native compiled method */ /* call native compiled method */
DEFINE_INSN DEFINE_INSN_IF(SUPPORT_CALL_C_FUNCTION)
opt_call_c_function opt_call_c_function
(rb_insn_func_t funcptr) (rb_insn_func_t funcptr)
() ()

View File

@ -22,7 +22,6 @@ class TestJIT < Test::Unit::TestCase
TEST_PENDING_INSNS = RubyVM::INSTRUCTION_NAMES.select { |n| n.start_with?('trace_') }.map(&:to_sym) + [ TEST_PENDING_INSNS = RubyVM::INSTRUCTION_NAMES.select { |n| n.start_with?('trace_') }.map(&:to_sym) + [
# not supported yet # not supported yet
:defineclass, :defineclass,
:opt_call_c_function,
# to be tested # to be tested
:invokebuiltin, :invokebuiltin,
@ -613,10 +612,6 @@ class TestJIT < Test::Unit::TestCase
assert_compile_once("'true' =~ /true/", result_inspect: '0', insns: %i[opt_regexpmatch2]) assert_compile_once("'true' =~ /true/", result_inspect: '0', insns: %i[opt_regexpmatch2])
end end
def test_compile_insn_opt_call_c_function
skip "support this in opt_call_c_function (low priority)"
end
def test_compile_insn_opt_invokebuiltin_delegate_leave def test_compile_insn_opt_invokebuiltin_delegate_leave
insns = collect_insns(RubyVM::InstructionSequence.of("\x00".method(:unpack)).to_a) insns = collect_insns(RubyVM::InstructionSequence.of("\x00".method(:unpack)).to_a)
mark_tested_insn(:opt_invokebuiltin_delegate_leave, used_insns: insns) mark_tested_insn(:opt_invokebuiltin_delegate_leave, used_insns: insns)

View File

@ -17,7 +17,6 @@
% %
% unsupported_insns = [ % unsupported_insns = [
% 'defineclass', # low priority % 'defineclass', # low priority
% 'opt_call_c_function', # low priority
% ] % ]
% %
% opt_send_without_block = RubyVM::Instructions.find { |i| i.name == 'opt_send_without_block' } % opt_send_without_block = RubyVM::Instructions.find { |i| i.name == 'opt_send_without_block' }

View File

@ -62,6 +62,10 @@
#define OPT_SUPPORT_JOKE 0 #define OPT_SUPPORT_JOKE 0
#endif #endif
#ifndef OPT_SUPPORT_CALL_C_FUNCTION
#define OPT_SUPPORT_CALL_C_FUNCTION 0
#endif
#ifndef VM_COLLECT_USAGE_DETAILS #ifndef VM_COLLECT_USAGE_DETAILS
#define VM_COLLECT_USAGE_DETAILS 0 #define VM_COLLECT_USAGE_DETAILS 0
#endif #endif