summaryrefslogtreecommitdiff
path: root/rjit_c.rb
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2023-03-10 01:30:30 +0900
committerKoichi Sasada <ko1@atdot.net>2023-03-23 14:03:12 +0900
commitc9fd81b860b5ec193ba57c73c740955937452497 (patch)
tree37d7f0ac40f0122c222b1dc952ef0f0907440b0a /rjit_c.rb
parente5a5e43c36443e06756aba6de95c94b41b910a82 (diff)
downloadruby-c9fd81b860b5ec193ba57c73c740955937452497.tar.gz
`vm_call_single_noarg_inline_builtin`
If the iseq only contains `opt_invokebuiltin_delegate_leave` insn and the builtin-function (bf) is inline-able, the caller doesn't need to build a method frame. `vm_call_single_noarg_inline_builtin` is fast path for such cases.
Diffstat (limited to 'rjit_c.rb')
-rw-r--r--rjit_c.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/rjit_c.rb b/rjit_c.rb
index c1030e94e3..96b21f2b7d 100644
--- a/rjit_c.rb
+++ b/rjit_c.rb
@@ -952,6 +952,7 @@ module RubyVM::RJIT # :nodoc: all
),
method_missing_reason: self.method_missing_reason,
v: self.VALUE,
+ bf: CType::Pointer.new { self.rb_builtin_function },
), Primitive.cexpr!("OFFSETOF((*((struct rb_callcache *)NULL)), aux_)")],
)
end