Ignore:
Timestamp:
Mar 1, 2017, 10:51:02 AM (8 years ago)
Author:
[email protected]
Message:

REGRESSION (r213202?): Assertion failed: (!"initialized()"), function operator().
https://bugs.webkit.org/show_bug.cgi?id=169042

Not reviewed.

Rolling out r213229 and r213202.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/MachineStackMarker.cpp:

(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::tryCopyOtherThreadStacks):

  • heap/MachineStackMarker.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::classInfo):

  • runtime/JSLock.cpp:

(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):

  • runtime/JSLock.h:

(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock): Deleted.

  • runtime/PlatformThread.h: Removed.
  • runtime/VM.cpp:

(JSC::VM::~VM):

  • runtime/VM.h:

(JSC::VM::ownerThread):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):

  • tools/JSDollarVMPrototype.cpp:

(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):

  • tools/VMInspector.cpp:
File:
1 edited

Legend:

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

    r213229 r213231  
    2121#pragma once
    2222
    23 #include "PlatformThread.h"
    2423#include <mutex>
     24#include <thread>
    2525#include <wtf/Assertions.h>
    2626#include <wtf/Lock.h>
     
    9494    VM* vm() { return m_vm; }
    9595
    96     std::optional<PlatformThread> ownerThread() const { return m_ownerThread; }
    97     bool currentThreadIsHoldingLock() { return m_ownerThread && m_ownerThread == currentPlatformThread(); }
     96    std::thread::id ownerThread() const { return m_ownerThreadID; }
     97    JS_EXPORT_PRIVATE bool currentThreadIsHoldingLock();
    9898
    9999    void willDestroyVM(VM*);
     
    127127
    128128    Lock m_lock;
    129     std::optional<PlatformThread> m_ownerThread;
     129    std::thread::id m_ownerThreadID;
    130130    intptr_t m_lockCount;
    131131    unsigned m_lockDropDepth;
Note: See TracChangeset for help on using the changeset viewer.