equal
deleted
inserted
replaced
57 #include "runtime/vmThread.hpp" |
57 #include "runtime/vmThread.hpp" |
58 |
58 |
59 // set data iff *dest == NULL |
59 // set data iff *dest == NULL |
60 static bool try_set(void* const data, void** dest, bool clear) { |
60 static bool try_set(void* const data, void** dest, bool clear) { |
61 assert(data != NULL, "invariant"); |
61 assert(data != NULL, "invariant"); |
62 const void* const current = OrderAccess::load_acquire(dest); |
62 const void* const current = Atomic::load(dest); |
63 if (current != NULL) { |
63 if (current != NULL) { |
64 if (current != data) { |
64 if (current != data) { |
65 // already set |
65 // already set |
66 return false; |
66 return false; |
67 } |
67 } |