Changeset 214393 in webkit


Ignore:
Timestamp:
Mar 24, 2017 10:34:02 PM (7 years ago)
Author:
mark.lam@apple.com
Message:

Add some instrumentation in Heap::resumeThePeriphery() to help debug an issue.
https://bugs.webkit.org/show_bug.cgi?id=170086
<rdar://problem/31253673>

Reviewed by Saam Barati.

Adding some instrumentation in Heap::resumeThePeriphery() to dump some Heap state
just before we RELEASE_ASSERT_NOT_REACHED.

  • heap/Heap.cpp:

(JSC::Heap::resumeThePeriphery):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r214384 r214393  
     12017-03-24  Mark Lam  <mark.lam@apple.com>
     2
     3        Add some instrumentation in Heap::resumeThePeriphery() to help debug an issue.
     4        https://bugs.webkit.org/show_bug.cgi?id=170086
     5        <rdar://problem/31253673>
     6
     7        Reviewed by Saam Barati.
     8
     9        Adding some instrumentation in Heap::resumeThePeriphery() to dump some Heap state
     10        just before we RELEASE_ASSERT_NOT_REACHED.
     11
     12        * heap/Heap.cpp:
     13        (JSC::Heap::resumeThePeriphery):
     14
    1152017-03-24  JF Bastien  <jfbastien@apple.com>
    216
  • trunk/Source/JavaScriptCore/heap/Heap.cpp

    r213883 r214393  
    15001500    if (!m_collectorBelievesThatTheWorldIsStopped) {
    15011501        dataLog("Fatal: collector does not believe that the world is stopped.\n");
     1502#if OS(DARWIN)
     1503        // FIXME: Remove this when no longer needed.
     1504        // https://bugs.webkit.org/show_bug.cgi?id=170094
     1505#if CPU(X86_64)
     1506        unsigned worldState = m_worldState.load();
     1507        asm volatile(
     1508            "int3"
     1509            :
     1510            : "a"(m_currentPhase), "b"(m_nextPhase), "c"(worldState), "S"(m_lastServedTicket), "D"(m_lastGrantedTicket)
     1511            : "memory");
     1512#elif CPU(ARM64)
     1513        unsigned worldState = m_worldState.load();
     1514        asm volatile(
     1515            "ldrb w0, %0\n"
     1516            "ldrb w1, %1\n"
     1517            "ldr w2, %2\n"
     1518            "ldr x3, %3\n"
     1519            "ldr x4, %4\n"
     1520            "brk #0"
     1521            :
     1522            : "m"(m_currentPhase), "m"(m_nextPhase), "m"(worldState), "m"(m_lastServedTicket), "m"(m_lastGrantedTicket)
     1523            : "memory");
     1524#endif
     1525#endif // OS(DARWIN)
    15021526        RELEASE_ASSERT_NOT_REACHED();
    15031527    }
Note: See TracChangeset for help on using the changeset viewer.