Skip to content

Commit 877dc76

Browse files
committed
Add TruffleRuby AtomicReference definition, cleanup
1 parent 640c119 commit 877dc76

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

lib/concurrent/atomic/atomic_reference.rb

+10-6
Original file line numberDiff line numberDiff line change
@@ -142,27 +142,31 @@ class ConcurrentUpdateError < ThreadError
142142
# @!visibility private
143143
# @!macro internal_implementation_note
144144
class CAtomicReference
145-
include Concurrent::AtomicDirectUpdate
146-
include Concurrent::AtomicNumericCompareAndSetWrapper
145+
include AtomicDirectUpdate
146+
include AtomicNumericCompareAndSetWrapper
147147
end
148148
CAtomicReference
149149
when Concurrent.on_jruby?
150150
# @!visibility private
151151
# @!macro internal_implementation_note
152152
class JavaAtomicReference
153-
include Concurrent::AtomicDirectUpdate
153+
include AtomicDirectUpdate
154154
end
155155
JavaAtomicReference
156-
when Concurrent.on_rbx?, Concurrent.on_truffleruby?
156+
when Concurrent.on_truffleruby?
157+
class TruffleRubyAtomicReference < Truffle::AtomicReference
158+
include AtomicDirectUpdate
159+
end
160+
when Concurrent.on_rbx?
157161
# @note Extends `Rubinius::AtomicReference` version adding aliases
158162
# and numeric logic.
159163
#
160164
# @!visibility private
161165
# @!macro internal_implementation_note
162166
class RbxAtomicReference < Rubinius::AtomicReference
163167
alias _compare_and_set compare_and_set
164-
include Concurrent::AtomicDirectUpdate
165-
include Concurrent::AtomicNumericCompareAndSetWrapper
168+
include AtomicDirectUpdate
169+
include AtomicNumericCompareAndSetWrapper
166170
alias_method :value, :get
167171
alias_method :value=, :set
168172
alias_method :swap, :get_and_set

0 commit comments

Comments
 (0)