Skip to content

Commit e0208cc

Browse files
committed
Replace remaining calls to rb_tr_wrap from ruby with primitives.
1 parent 3e4afce commit e0208cc

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

lib/truffle/truffle/cext.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,7 @@ def rb_hash_set_ifnone(hash, value)
10321032

10331033
def rb_hash_foreach(hash, func, farg)
10341034
hash.each do |key, value|
1035-
st_result = Truffle::Interop.execute_without_conversion(func, rb_tr_wrap(key), rb_tr_wrap(value), farg)
1035+
st_result = Truffle::Interop.execute_without_conversion(func, Truffle.invoke_primitive(:cext_wrap, key), Truffle.invoke_primitive(:cext_wrap, value), farg)
10361036

10371037
case st_result
10381038
when ST_CONTINUE
@@ -1088,7 +1088,7 @@ def rb_protect_with_block(function, arg)
10881088
# function called will do that. In general we try not to touch the
10891089
# values passed in or out of protected functions as C extensions
10901090
# may accept or return arbitrary pointers rather than ruby VALUEs.
1091-
res = rb_tr_wrap(nil)
1091+
res = Truffle.invoke_primitive(:cext_wrap, nil)
10921092
pos = 0
10931093
e = capture_exception do
10941094
res = Truffle::Interop.execute_without_conversion(function, arg)
@@ -1271,7 +1271,7 @@ def rb_enumeratorize(obj, meth, args)
12711271

12721272
def rb_enumeratorize_with_size(obj, meth, args, size_fn)
12731273
return rb_enumeratorize(obj, meth, args) if size_fn.nil?
1274-
enum = obj.to_enum(meth, *args) { rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, size_fn, [rb_tr_wrap(obj), rb_tr_wrap(args), rb_tr_wrap(enum)])) }
1274+
enum = obj.to_enum(meth, *args) { rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, size_fn, [Truffle.invoke_primitive(:cext_wrap, obj), Truffle.invoke_primitive(:cext_wrap, args), Truffle.invoke_primitive(:cext_wrap, enum)])) }
12751275
enum
12761276
end
12771277

@@ -1399,7 +1399,7 @@ def rb_mutex_sleep(mutex, timeout)
13991399

14001400
def rb_mutex_synchronize(mutex, func, arg)
14011401
mutex.synchronize do
1402-
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [rb_tr_wrap(arg)]))
1402+
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [Truffle.invoke_primitive(:cext_wrap, arg)]))
14031403
end
14041404
end
14051405

@@ -1513,7 +1513,7 @@ def send_splatted(object, method, args)
15131513

15141514
def rb_block_call(object, method, args, func, data)
15151515
object.__send__(method, *args) do |*block_args|
1516-
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [rb_tr_wrap(block_args.first), data, block_args.size, RARRAY_PTR(block_args), nil]))
1516+
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [Truffle.invoke_primitive(:cext_wrap, block_args.first), data, block_args.size, RARRAY_PTR(block_args), nil]))
15171517
end
15181518
end
15191519

@@ -1529,35 +1529,35 @@ def rb_rescue(b_proc, data1, r_proc, data2)
15291529
begin
15301530
Truffle.invoke_primitive(:call_with_c_mutex, b_proc, [data1])
15311531
rescue StandardError => e
1532-
Truffle.invoke_primitive(:call_with_c_mutex, r_proc, [data2, rb_tr_wrap(e)])
1532+
Truffle.invoke_primitive(:call_with_c_mutex, r_proc, [data2, Truffle.invoke_primitive(:cext_wrap, e)])
15331533
end
15341534
end
15351535

15361536
def rb_rescue2(b_proc, data1, r_proc, data2, rescued)
15371537
begin
15381538
Truffle.invoke_primitive(:call_with_c_mutex, b_proc, [data1])
15391539
rescue *rescued => e
1540-
Truffle.invoke_primitive(:call_with_c_mutex, r_proc, [data2, rb_tr_wrap(e)])
1540+
Truffle.invoke_primitive(:call_with_c_mutex, r_proc, [data2, Truffle.invoke_primitive(:cext_wrap, e)])
15411541
end
15421542
end
15431543

15441544
def rb_exec_recursive(func, obj, arg)
15451545
result = nil
15461546

15471547
recursive = Thread.detect_recursion(obj) do
1548-
result = rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [rb_tr_wrap(obj), rb_tr_wrap(arg), 0]))
1548+
result = rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [Truffle.invoke_primitive(:cext_wrap, obj), Truffle.invoke_primitive(:cext_wrap, arg), 0]))
15491549
end
15501550

15511551
if recursive
1552-
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [rb_tr_wrap(obj), rb_tr_wrap(arg), 1]))
1552+
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [Truffle.invoke_primitive(:cext_wrap, obj), Truffle.invoke_primitive(:cext_wrap, arg), 1]))
15531553
else
15541554
result
15551555
end
15561556
end
15571557

15581558
def rb_catch_obj(tag, func, data)
15591559
catch tag do |caught|
1560-
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [rb_tr_wrap(caught), rb_tr_wrap(data), rb_tr_wrap(nil)]))
1560+
rb_tr_unwrap(Truffle.invoke_primitive(:call_with_c_mutex, func, [Truffle.invoke_primitive(:cext_wrap, caught), Truffle.invoke_primitive(:cext_wrap, data), Truffle.invoke_primitive(:cext_wrap, nil)]))
15611561
end
15621562
end
15631563

@@ -1656,7 +1656,7 @@ def rb_iterate(iteration, iterated_object, callback, callback_arg)
16561656
end
16571657
else
16581658
call_with_thread_locally_stored_block iteration, iterated_object do |block_arg|
1659-
rb_tr_unwrap Truffle.invoke_primitive(:call_with_c_mutex, callback, [rb_tr_wrap(block_arg), rb_tr_wrap(callback_arg), rb_tr_wrap(nil)])
1659+
rb_tr_unwrap Truffle.invoke_primitive(:call_with_c_mutex, callback, [Truffle.invoke_primitive(:cext_wrap, block_arg), Truffle.invoke_primitive(:cext_wrap, callback_arg), Truffle.invoke_primitive(:cext_wrap, nil)])
16601660
end
16611661
end
16621662
end
@@ -1762,11 +1762,11 @@ def rb_define_hooked_variable(name, gvar, getter, setter)
17621762
id = name.to_sym
17631763

17641764
getter_proc = -> {
1765-
rb_tr_unwrap Truffle.invoke_primitive(:call_with_c_mutex, getter, [rb_tr_wrap(id), gvar, rb_tr_wrap(nil)])
1765+
rb_tr_unwrap Truffle.invoke_primitive(:call_with_c_mutex, getter, [Truffle.invoke_primitive(:cext_wrap, id), gvar, Truffle.invoke_primitive(:cext_wrap, nil)])
17661766
}
17671767

17681768
setter_proc = -> value {
1769-
Truffle.invoke_primitive(:call_with_c_mutex, setter, [rb_tr_wrap(value), rb_tr_wrap(id), gvar, rb_tr_wrap(nil)])
1769+
Truffle.invoke_primitive(:call_with_c_mutex, setter, [Truffle.invoke_primitive(:cext_wrap, value), Truffle.invoke_primitive(:cext_wrap, id), gvar, Truffle.invoke_primitive(:cext_wrap, nil)])
17701770
}
17711771

17721772
Truffle::KernelOperations.define_hooked_variable id, getter_proc, setter_proc

0 commit comments

Comments
 (0)