Ignore:
Timestamp:
Jul 25, 2013, 5:13:13 PM (12 years ago)
Author:
[email protected]
Message:

ASSERT(m_vm->apiLock().currentThreadIsHoldingLock()); fails for Safari on current ToT
https://bugs.webkit.org/show_bug.cgi?id=119108

Reviewed by Mark Hahnenberg.

Add a currentThreadIsHoldingAPILock() function to VM that checks if the current thread is the exclusive API thread.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/VM.h:

(JSC::VM::currentThreadIsHoldingAPILock):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/VM.h

    r153331 r153357  
    469469        }
    470470
     471        bool currentThreadIsHoldingAPILock() const
     472        {
     473            return m_apiLock->currentThreadIsHoldingLock() || exclusiveThread == currentThread();
     474        }
     475
    471476        JSLock& apiLock() { return *m_apiLock; }
    472477        CodeCache* codeCache() { return m_codeCache.get(); }
Note: See TracChangeset for help on using the changeset viewer.