Searched refs:lock (Results 1 - 25 of 25) sorted by relevance

/art/test/004-ThreadStress/src/
H A DMain.java55 final Object lock = new Object();
99 threadStresses[t] = new Main(lock, t, operations);
157 synchronized (lock) {
158 lock.notifyAll();
175 private final Object lock; field in class:Main
180 private Main(Object lock, int id, Operation[] operations) { argument
181 this.lock = lock;
216 synchronized (lock) {
218 lock
[all...]
/art/runtime/gc/
H A Dreference_queue.h47 explicit ReferenceQueue(Mutex* lock);
49 // since it uses a lock to avoid a race between checking for the references presence and adding
54 // reference IsEnqueueable. Not thread safe, used when mutators are paused to minimize lock
H A Dreference_queue.cc28 ReferenceQueue::ReferenceQueue(Mutex* lock) : lock_(lock), list_(nullptr) { argument
/art/compiler/utils/
H A Darena_allocator.cc151 : lock_("Arena pool lock"),
167 MutexLock lock(self, lock_);
182 MutexLock lock(Thread::Current(), lock_);
201 MutexLock lock(self, lock_);
H A Dswap_space.cc69 lock_("SwapSpace lock", static_cast<LockLevel>(LockLevel::kDefaultMutexLevel - 1)) {
105 MutexLock lock(Thread::Current(), lock_);
146 MutexLock lock(Thread::Current(), lock_);
164 MutexLock lock(Thread::Current(), lock_);
H A Ddedupe_set.h35 // supports the lock being sharded.
89 MutexLock lock(self, *lock_[shard_bin]);
105 oss << set_name << " lock " << i;
/art/runtime/native/
H A Djava_lang_Thread.cc129 // thread list lock to avoid this, as setting the thread name causes mutator to lock/unlock
133 // Take suspend thread lock to avoid races with threads trying to suspend this one.
167 mirror::Object* lock = soa.Decode<mirror::Object*>(java_lock); local
168 Monitor::Wait(Thread::Current(), lock, ms, ns, true, kSleeping); local
/art/runtime/entrypoints/quick/
H A Dquick_trampoline_entrypoints.cc1610 uint64_t artQuickGenericJniEndJNIRef(Thread* self, uint32_t cookie, jobject l, jobject lock) { argument
1611 if (lock != nullptr) {
1612 return reinterpret_cast<uint64_t>(JniMethodEndWithReferenceSynchronized(l, cookie, lock, self));
1618 void artQuickGenericJniEndJNINonRef(Thread* self, uint32_t cookie, jobject lock) { argument
1619 if (lock != nullptr) {
1620 JniMethodEndSynchronized(cookie, lock, self);
1691 jobject lock = called->IsSynchronized() ? visitor.GetFirstHandleScopeJObject() : nullptr; local
1693 artQuickGenericJniEndJNIRef(self, cookie, nullptr, lock);
1695 artQuickGenericJniEndJNINonRef(self, cookie, lock);
1719 jobject lock local
[all...]
/art/runtime/arch/
H A Dstub_test.cc614 LockWord lock = obj->GetLockWord(false); local
615 LockWord::LockState old_state = lock.GetState();
623 EXPECT_EQ(lock_after.ThinLockCount(), 0U); // Thin lock starts count at zero
628 // Check we're at lock count i
636 // Force a fat lock by running identity hashcode to fill up lock word.
671 // NO_THREAD_SAFETY_ANALYSIS as we do not want to grab exclusive mutator lock for MonitorInfo.
683 static constexpr size_t kNumberOfLocks = 10; // Number of objects = lock
687 LockWord lock = obj->GetLockWord(false); variable
688 LockWord::LockState old_state = lock
749 bool lock; // Whether to lock or unlock in this step. variable
[all...]
/art/runtime/
H A Ddebugger.h62 lock("a DebugInvokeReq lock", kBreakpointInvokeLock),
63 cond("a DebugInvokeReq condition variable", lock) {
88 Mutex lock DEFAULT_MUTEX_ACQUIRED_AFTER;
89 ConditionVariable cond GUARDED_BY(lock);
686 // lock.
H A Dprofiler.h104 explicit ProfileSampleResults(Mutex& lock);
119 Mutex& lock_; // Reference to the main profiler lock - we don't need two of them.
H A Dclass_linker.cc172 : dex_lock_("ClassLinker dex lock", kDefaultMutexLevel),
869 // We are loading or creating one in the future. Time to set up the file lock.
886 // TODO: What to lock here?
943 // Definitely need to lock now.
1975 ObjectLock<mirror::Class> lock(self, h_class);
1978 lock.WaitIgnoringInterrupts();
1994 ObjectLock<mirror::Class> lock(self, h_class);
2003 lock.WaitIgnoringInterrupts();
2258 ObjectLock<mirror::Class> lock(self, klass);
2260 // An exception occured during load, set status to erroneous while holding klass' lock i
[all...]
H A Dprofiler.cc90 // of which caller, the mutator lock must be held.
134 // Grab the mutator lock (shared access).
259 ScopedObjectAccess soa(self); // Acquire the mutator lock.
286 LOG(ERROR) << "Failed to lock profile file " << full_name;
394 wait_lock_("Profile wait lock"),
405 // We require mutator lock since some statistics will be updated here.
472 ProfileSampleResults::ProfileSampleResults(Mutex& lock) : lock_(lock), num_samples_(0), argument
H A Dthread.cc583 // If we're in kStarting, we won't have a thin lock id or tid yet.
673 // Grab the suspend_count lock and copy the current set of
675 // function will also grab this lock so we prevent a race between setting
686 // Outside the lock, run all the checkpoint functions that
943 // Getting the identity hashcode here would result in lock inflation and suspension of the
1189 // Thread.join() is implemented as an Object.wait() on the Thread.lock object. Signal anyone
1191 mirror::Object* lock = local
1193 // (This conditional is only needed for tests, where Thread.lock won't have been set.)
1194 if (lock != nullptr) {
1196 Handle<mirror::Object> h_obj(hs.NewHandle(lock));
[all...]
H A Dclass_linker.h515 ObjectLock<mirror::Class>& lock);
627 // the file to be written, which is assumed to be under a lock.
685 // in the table to make it resolved. The thread doing resolution must notify on the class' lock
H A Dthread_list.cc336 // Block on the mutator lock until all Runnable threads release their share of access.
561 // There's a race in inflating a lock and the owner giving up ownership and then dying.
642 // Block on the mutator lock until all Runnable threads release their share of access then
689 MutexLock mu(self, pReq->lock);
695 // suspend count lock.
708 // just long enough to try to grab the thread-suspend lock).
726 // Threads can't resume if we exclusively hold the mutator lock.
H A Ddebugger.cc790 // Suspend all threads and exclusively acquire the mutator lock. Set the state of the thread
925 // Ensure all threads are suspended while we read objects' lock words.
960 // TODO: Enable annotalysis. We know lock is held in constructor, but abstraction confuses
1016 // Add() requires the thread_list_lock_ not held to avoid the lock
1159 // TODO: Enable annotalysis. We know lock is held in constructor, but abstraction confuses
2280 // TODO: Enable annotalysis. We know lock is held in constructor, but abstraction confuses
2322 // TODO: Enable annotalysis. We know lock is held in constructor, but abstraction confuses
2392 // Suspend thread to build stack trace. Take suspend thread lock to avoid races with threads
2439 // TODO: Enable annotalysis. We know lock is held in constructor, but abstraction confuses
2482 // TODO: Enable annotalysis. We know lock i
[all...]
/art/compiler/utils/x86/
H A Dassembler_x86.h426 X86Assembler* lock();
448 lock()->cmpxchgl(address, reg);
H A Dassembler_x86.cc1206 X86Assembler* X86Assembler::lock() { function in class:art::x86::X86Assembler
/art/compiler/utils/x86_64/
H A Dassembler_x86_64.h467 X86_64Assembler* lock();
490 lock()->cmpxchgl(address, reg);
H A Dassembler_x86_64.cc1402 X86_64Assembler* X86_64Assembler::lock() { function in class:art::x86_64::X86_64Assembler
/art/compiler/driver/
H A Dcompiler_driver.cc85 : stats_lock_("AOT compilation statistics lock"),
350 freezing_constructor_lock_("freezing constructor lock"),
351 compiled_classes_lock_("compiled classes lock"),
352 compiled_methods_lock_("compiled method lock"),
1604 // fields are assigned within the lock held for class initialization. Conservatively assume
1841 ObjectLock<mirror::Class> lock(soa.Self(), klass);
1889 // deadlock problems. For example, a parent class is initialized (holding its lock) that
1891 // sub-class' lock. While on a second thread the sub-class is initialized (holding its lock)
1893 // parent-to-child and a child-to-parent lock orderin
[all...]
/art/runtime/arch/x86/
H A Dquick_entrypoints_x86.S536 movl LOCK_WORD_OFFSET(%eax), %ecx // ecx := lock word
541 jnz .Lalready_thin // lock word contains a thin lock
544 xor %eax, %eax // eax == 0 for comparison with lock word in cmpxchg
545 lock cmpxchg %edx, LOCK_WORD_OFFSET(%ecx)
552 cmpw %cx, %dx // do we hold the lock already?
557 movl %ecx, LOCK_WORD_OFFSET(%eax) // update lockword, cmpxchg not necessary as we hold lock
579 movl LOCK_WORD_OFFSET(%eax), %ecx // ecx := lock word
582 jnz .Lslow_unlock // lock word contains a monitor
/art/runtime/arch/x86_64/
H A Dquick_entrypoints_x86_64.S867 movl LOCK_WORD_OFFSET(%edi), %ecx // ecx := lock word.
872 jnz .Lalready_thin // Lock word contains a thin lock.
874 xor %eax, %eax // eax == 0 for comparison with lock word in cmpxchg
875 lock cmpxchg %edx, LOCK_WORD_OFFSET(%edi)
879 cmpw %cx, %dx // do we hold the lock already?
884 movl %ecx, LOCK_WORD_OFFSET(%edi) // update lockword, cmpxchg not necessary as we hold lock
898 movl LOCK_WORD_OFFSET(%edi), %ecx // ecx := lock word
901 jnz .Lslow_unlock // lock word contains a monitor
/art/runtime/arch/arm/
H A Dquick_entrypoints_arm.S371 * possibly null object to lock.
392 cbnz r2, .Lslow_lock @ lock word and self thread id's match -> recursive lock
394 add r2, r1, #65536 @ increment count in lock word placing in r2 for storing
397 str r2, [r0, #LOCK_WORD_OFFSET] @ no need for strex as we hold the lock
411 * r0 holds the possibly null object to lock.
422 cbnz r3, .Lslow_unlock @ do lock word and self thread id's match?

Completed in 382 milliseconds