/art/runtime/ |
D | lock_word.h | 62 class LockWord { 111 static LockWord FromThinLockId(uint32_t thread_id, uint32_t count, uint32_t rb_state) { in FromThinLockId() 115 return LockWord((thread_id << kThinLockOwnerShift) | (count << kThinLockCountShift) | in FromThinLockId() 120 static LockWord FromForwardingAddress(size_t target) { in FromForwardingAddress() 122 return LockWord((target >> kStateSize) | (kStateForwardingAddress << kStateShift)); in FromForwardingAddress() 125 static LockWord FromHashCode(uint32_t hash_code, uint32_t rb_state) { in FromHashCode() 128 return LockWord((hash_code << kHashShift) | in FromHashCode() 133 static LockWord FromDefault(uint32_t rb_state) { in FromDefault() 135 return LockWord(rb_state << kReadBarrierStateShift); in FromDefault() 138 static bool IsDefault(LockWord lw) { in IsDefault() [all …]
|
D | lock_word-inl.h | 25 inline uint32_t LockWord::ThinLockOwner() const { in ThinLockOwner() 31 inline uint32_t LockWord::ThinLockCount() const { in ThinLockCount() 37 inline Monitor* LockWord::FatLockMonitor() const { in FatLockMonitor() 44 inline size_t LockWord::ForwardingAddress() const { in ForwardingAddress() 49 inline LockWord::LockWord() : value_(0) { in LockWord() function 53 inline LockWord::LockWord(Monitor* mon, uint32_t rb_state) in LockWord() function 65 inline int32_t LockWord::GetHashCode() const { in GetHashCode()
|
D | monitor.cc | 134 LockWord lw(GetObject()->GetLockWord(false)); in Install() 136 case LockWord::kThinLocked: { in Install() 141 case LockWord::kHashCode: { in Install() 145 case LockWord::kFatLocked: { in Install() 149 case LockWord::kUnlocked: { in Install() 158 LockWord fat(this, lw.ReadBarrierState()); in Install() 745 LockWord lw(obj->GetLockWord(false)); in Deflate() 747 if (lw.GetState() == LockWord::kFatLocked) { in Deflate() 762 if (monitor->lock_count_ > LockWord::kThinLockMaxCount) { in Deflate() 766 LockWord new_lw = LockWord::FromThinLockId(owner->GetThreadId(), monitor->lock_count_, in Deflate() [all …]
|
D | monitor_test.cc | 119 LockWord lock_after = monitor_test_->object_.Get()->GetLockWord(false); // it to thinLocked. in Run() 120 LockWord::LockState new_state = lock_after.GetState(); in Run() 123 if (LockWord::LockState::kThinLocked != new_state) { in Run() 125 ASSERT_EQ(LockWord::LockState::kThinLocked, new_state); // To fail the test. in Run() 131 LockWord lock_after2 = monitor_test_->object_.Get()->GetLockWord(false); in Run() 132 LockWord::LockState new_state2 = lock_after2.GetState(); in Run() 135 if (LockWord::LockState::kFatLocked != new_state2) { in Run() 137 ASSERT_EQ(LockWord::LockState::kFatLocked, new_state2); // To fail the test. in Run()
|
D | monitor_pool.h | 49 DCHECK_ALIGNED(mon, LockWord::kMonitorIdAlignment); in CreateMonitor() 76 return reinterpret_cast<Monitor*>(mon_id << LockWord::kMonitorIdAlignmentShift); in MonitorFromMonitorId() 84 return reinterpret_cast<MonitorId>(mon) >> LockWord::kMonitorIdAlignmentShift; in MonitorIdFromMonitor() 205 static_assert(kMaxListSize * kChunkSize < (1 << LockWord::kMonitorIdSize),
|
D | asm_support.h | 326 ADD_TEST_EQ(LOCK_WORD_STATE_SHIFT, static_cast<int32_t>(art::LockWord::kStateShift)) in CheckAsmSupportOffsetsAndSizes() 329 ADD_TEST_EQ(LOCK_WORD_STATE_MASK, static_cast<uint32_t>(art::LockWord::kStateMaskShifted)) in CheckAsmSupportOffsetsAndSizes() 333 static_cast<int32_t>(art::LockWord::kReadBarrierStateShift)) in CheckAsmSupportOffsetsAndSizes() 337 static_cast<int32_t>(art::LockWord::kReadBarrierStateMaskShifted)) in CheckAsmSupportOffsetsAndSizes() 341 static_cast<uint32_t>(art::LockWord::kReadBarrierStateMaskShiftedToggled)) in CheckAsmSupportOffsetsAndSizes() 344 ADD_TEST_EQ(LOCK_WORD_THIN_LOCK_COUNT_ONE, static_cast<int32_t>(art::LockWord::kThinLockCountOne)) in CheckAsmSupportOffsetsAndSizes()
|
D | monitor.h | 40 class LockWord; variable 107 static bool IsValidLockWord(LockWord lock_word); 133 static void InflateThinLocked(Thread* self, Handle<mirror::Object> obj, LockWord lock_word, 146 int error = posix_memalign(&result, LockWord::kMonitorIdAlignment, size); in new()
|
D | transaction_test.cc | 69 LockWord old_lock_word = h_klass->GetLockWord(false); in testTransactionAbort() 81 LockWord new_lock_word = h_klass->GetLockWord(false); in testTransactionAbort() 82 EXPECT_TRUE(LockWord::Equal<false>(old_lock_word, new_lock_word)); in testTransactionAbort() 124 LockWord old_lock_word = h_obj->GetLockWord(false); in TEST_F() 130 LockWord new_lock_word = h_obj->GetLockWord(false); in TEST_F() 135 LockWord aborted_lock_word = h_obj->GetLockWord(false); in TEST_F() 136 EXPECT_FALSE(LockWord::Equal<false>(old_lock_word, new_lock_word)); in TEST_F() 137 EXPECT_TRUE(LockWord::Equal<false>(aborted_lock_word, new_lock_word)); in TEST_F()
|
D | jni_env_ext.cc | 166 if ((o->GetLockWord(false).GetState() == LockWord::kThinLocked) && in ComputeMonitorDescription()
|
D | jni_internal_test.cc | 2216 LockWord lock_word = soa.Decode<mirror::Object*>(jobj)->GetLockWord(true); in IsLocked() 2218 case LockWord::kHashCode: in IsLocked() 2219 case LockWord::kUnlocked: in IsLocked() 2221 case LockWord::kThinLocked: in IsLocked() 2223 case LockWord::kFatLocked: in IsLocked()
|
D | thread_list.cc | 71 CHECK(Monitor::IsValidLockWord(LockWord::FromThinLockId(kMaxThreadId, 1, 0U))); in ThreadList()
|
/art/runtime/mirror/ |
D | object.cc | 150 (expected_value & LockWord::kHashMask) == 0); in GenerateIdentityHashCode() 151 return expected_value & LockWord::kHashMask; in GenerateIdentityHashCode() 161 LockWord lw = current_this->GetLockWord(false); in IdentityHashCode() 163 case LockWord::kUnlocked: { in IdentityHashCode() 166 LockWord hash_word = LockWord::FromHashCode(GenerateIdentityHashCode(), in IdentityHashCode() 168 DCHECK_EQ(hash_word.GetState(), LockWord::kHashCode); in IdentityHashCode() 174 case LockWord::kThinLocked: { in IdentityHashCode() 185 case LockWord::kFatLocked: { in IdentityHashCode() 191 case LockWord::kHashCode: { in IdentityHashCode()
|
D | object.h | 31 class LockWord; variable 132 LockWord GetLockWord(bool as_volatile) SHARED_REQUIRES(Locks::mutator_lock_); 134 void SetLockWord(LockWord new_val, bool as_volatile) SHARED_REQUIRES(Locks::mutator_lock_); 135 bool CasLockWordWeakSequentiallyConsistent(LockWord old_val, LockWord new_val) 137 bool CasLockWordWeakRelaxed(LockWord old_val, LockWord new_val) 139 bool CasLockWordWeakRelease(LockWord old_val, LockWord new_val)
|
D | object-inl.h | 67 inline LockWord Object::GetLockWord(bool as_volatile) { in GetLockWord() 69 return LockWord(GetField32Volatile<kVerifyFlags>(OFFSET_OF_OBJECT_MEMBER(Object, monitor_))); in GetLockWord() 71 return LockWord(GetField32<kVerifyFlags>(OFFSET_OF_OBJECT_MEMBER(Object, monitor_))); in GetLockWord() 75 inline void Object::SetLockWord(LockWord new_val, bool as_volatile) { in SetLockWord() 86 inline bool Object::CasLockWordWeakSequentiallyConsistent(LockWord old_val, LockWord new_val) { in CasLockWordWeakSequentiallyConsistent() 92 inline bool Object::CasLockWordWeakRelaxed(LockWord old_val, LockWord new_val) { in CasLockWordWeakRelaxed() 98 inline bool Object::CasLockWordWeakRelease(LockWord old_val, LockWord new_val) { in CasLockWordWeakRelease() 150 LockWord lw = GetLockWord(false); in SetReadBarrierPointer() 172 LockWord expected_lw; in AtomicSetReadBarrierPointer() 173 LockWord new_lw; in AtomicSetReadBarrierPointer() [all …]
|
/art/runtime/gc/collector/ |
D | semi_space-inl.h | 46 LockWord lock_word = obj->GetLockWord(false); in GetForwardingAddressInFromSpace() 47 if (lock_word.GetState() != LockWord::kForwardingAddress) { in GetForwardingAddressInFromSpace() 72 LockWord::FromForwardingAddress(reinterpret_cast<size_t>(forward_address)), false); in MarkObject()
|
D | concurrent_copying-inl.h | 96 LockWord lw = from_ref->GetLockWord(false); in GetFwdPtr() 97 if (lw.GetState() == LockWord::kForwardingAddress) { in GetFwdPtr()
|
D | mark_compact.cc | 75 LockWord lock_word = obj->GetLockWord(false); in ForwardObject() 77 if (!LockWord::IsDefault(lock_word)) { in ForwardObject() 82 obj->SetLockWord(LockWord::FromForwardingAddress(reinterpret_cast<size_t>(bump_pointer_)), in ForwardObject() 526 LockWord lock_word = LockWord::Default(); in MoveObject()
|
D | mark_compact.h | 219 std::deque<LockWord> lock_words_to_restore_;
|
D | concurrent_copying.cc | 1842 LockWord old_lock_word = to_ref->GetLockWord(false); in Copy() 1844 if (old_lock_word.GetState() == LockWord::kForwardingAddress) { in Copy() 1881 CHECK_NE(to_ref->GetLockWord(false).GetState(), LockWord::kForwardingAddress); in Copy() 1890 LockWord new_lock_word = LockWord::FromForwardingAddress(reinterpret_cast<size_t>(to_ref)); in Copy() 1908 CHECK_NE(to_ref->GetLockWord(false).GetState(), LockWord::kForwardingAddress); in Copy()
|
/art/runtime/arch/ |
D | stub_test.cc | 598 LockWord lock = obj->GetLockWord(false); in TEST_F() 599 LockWord::LockState old_state = lock.GetState(); in TEST_F() 600 EXPECT_EQ(LockWord::LockState::kUnlocked, old_state); in TEST_F() 604 LockWord lock_after = obj->GetLockWord(false); in TEST_F() 605 LockWord::LockState new_state = lock_after.GetState(); in TEST_F() 606 EXPECT_EQ(LockWord::LockState::kThinLocked, new_state); in TEST_F() 614 LockWord l_inc = obj->GetLockWord(false); in TEST_F() 615 LockWord::LockState l_inc_state = l_inc.GetState(); in TEST_F() 616 EXPECT_EQ(LockWord::LockState::kThinLocked, l_inc_state); in TEST_F() 628 LockWord lock_after2 = obj2->GetLockWord(false); in TEST_F() [all …]
|
/art/compiler/ |
D | image_writer.cc | 342 object->SetLockWord(LockWord::FromForwardingAddress(offset), false); in SetImageOffset() 349 obj->SetLockWord(LockWord::FromForwardingAddress(offset), false); in UpdateImageOffset() 370 return object->GetLockWord(false).GetState() == LockWord::kForwardingAddress; in IsImageOffsetAssigned() 376 LockWord lock_word = object->GetLockWord(false); in GetImageOffset() 391 LockWord lw(object->GetLockWord(false)); in SetImageBinSlot() 393 case LockWord::kFatLocked: { in SetImageBinSlot() 397 case LockWord::kThinLocked: { in SetImageBinSlot() 401 case LockWord::kUnlocked: in SetImageBinSlot() 404 case LockWord::kHashCode: in SetImageBinSlot() 412 object->SetLockWord(LockWord::FromForwardingAddress(bin_slot.Uint32Value()), false); in SetImageBinSlot() [all …]
|
D | image_writer.h | 217 LockWord::kReadBarrierStateSize;
|
/art/compiler/optimizing/ |
D | code_generator_arm64.cc | 5050 static_assert(sizeof(LockWord) == sizeof(int32_t), in GenerateReferenceLoadWithBakerReadBarrier() 5053 __ Lsr(temp, temp, LockWord::kReadBarrierStateShift); in GenerateReferenceLoadWithBakerReadBarrier() 5054 __ And(temp, temp, Operand(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier() 5056 LockWord::kReadBarrierStateMask == ReadBarrier::rb_ptr_mask_, in GenerateReferenceLoadWithBakerReadBarrier() 5064 __ Bic(temp2, temp, Operand(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier()
|
D | code_generator_arm.cc | 6143 static_assert(sizeof(LockWord) == sizeof(int32_t), in GenerateReferenceLoadWithBakerReadBarrier() 6146 __ Lsr(temp_reg, temp_reg, LockWord::kReadBarrierStateShift); in GenerateReferenceLoadWithBakerReadBarrier() 6147 __ and_(temp_reg, temp_reg, ShifterOperand(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier() 6149 LockWord::kReadBarrierStateMask == ReadBarrier::rb_ptr_mask_, in GenerateReferenceLoadWithBakerReadBarrier() 6156 __ bic(IP, temp_reg, ShifterOperand(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier()
|
D | code_generator_x86_64.cc | 6365 static_assert(sizeof(LockWord) == sizeof(int32_t), in GenerateReferenceLoadWithBakerReadBarrier() 6368 __ shrl(temp_reg, Immediate(LockWord::kReadBarrierStateShift)); in GenerateReferenceLoadWithBakerReadBarrier() 6369 __ andl(temp_reg, Immediate(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier() 6371 LockWord::kReadBarrierStateMask == ReadBarrier::rb_ptr_mask_, in GenerateReferenceLoadWithBakerReadBarrier()
|