Skip to content

Commit

Permalink
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions truffle/src/main/ruby/core/thread.rb
Original file line number Diff line number Diff line change
@@ -256,14 +256,20 @@ def randomizer
# Fiber-local variables

def [](name)
locals = Truffle.invoke_primitive :thread_get_fiber_locals, self
Truffle.invoke_primitive :object_ivar_get, locals, name.to_sym
var = name.to_sym
Rubinius.synchronize(self) do
locals = Truffle.invoke_primitive :thread_get_fiber_locals, self
Truffle.invoke_primitive :object_ivar_get, locals, var
end
end

def []=(name, value)
Truffle.check_frozen
locals = Truffle.invoke_primitive :thread_get_fiber_locals, self
Truffle.invoke_primitive :object_ivar_set, locals, name.to_sym, value
var = name.to_sym
Rubinius.synchronize(self) do
Truffle.check_frozen
locals = Truffle.invoke_primitive :thread_get_fiber_locals, self
Truffle.invoke_primitive :object_ivar_set, locals, var, value
end
end

# Thread-local variables

0 comments on commit c80c8a9

Please sign in to comment.