summaryrefslogtreecommitdiff
path: root/lib/ruby_vm/mjit/exit_compiler.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <[email protected]>2023-02-10 22:07:34 -0800
committerTakashi Kokubun <[email protected]>2023-03-05 23:28:59 -0800
commit39b787448126d9c6363bb5d8ce5e82ffef6a1c22 (patch)
treeb9a52c3e0c0b9c740d94f911c6e8c2387e21126d /lib/ruby_vm/mjit/exit_compiler.rb
parente111d3ae8d3d88e1435e2a28adb1a7ed7277f70a (diff)
Implement variadic C func calls
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7448
Diffstat (limited to 'lib/ruby_vm/mjit/exit_compiler.rb')
-rw-r--r--lib/ruby_vm/mjit/exit_compiler.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/ruby_vm/mjit/exit_compiler.rb b/lib/ruby_vm/mjit/exit_compiler.rb
index 6d3a0406a7..20645fdb9e 100644
--- a/lib/ruby_vm/mjit/exit_compiler.rb
+++ b/lib/ruby_vm/mjit/exit_compiler.rb
@@ -20,7 +20,7 @@ module RubyVM::MJIT
asm.pop(EC)
asm.pop(CFP)
- asm.mov(:rax, Qundef)
+ asm.mov(C_RET, Qundef)
asm.ret
end
@@ -45,8 +45,8 @@ module RubyVM::MJIT
# RAX to contain the return value of the C method.
asm.comment('full cfunc return')
- asm.mov(C_ARG_OPNDS[0], EC)
- asm.mov(C_ARG_OPNDS[1], :rax)
+ asm.mov(C_ARGS[0], EC)
+ asm.mov(C_ARGS[1], :rax)
asm.call(C.rb_full_cfunc_return)
# TODO: count the exit
@@ -56,7 +56,7 @@ module RubyVM::MJIT
asm.pop(EC)
asm.pop(CFP)
- asm.mov(:rax, Qundef)
+ asm.mov(C_RET, Qundef)
asm.ret
end
@@ -76,7 +76,7 @@ module RubyVM::MJIT
asm.pop(EC)
asm.pop(CFP)
- asm.mov(:rax, Qundef)
+ asm.mov(C_RET, Qundef)
asm.ret
end