|
Lines 1530-1559
NEVER_INLINE void Heap::resumeThePeriphe
Source/JavaScriptCore/heap/Heap.cpp_sec1
|
| 1530 |
|
1530 |
|
| 1531 |
if (!m_collectorBelievesThatTheWorldIsStopped) { |
1531 |
if (!m_collectorBelievesThatTheWorldIsStopped) { |
| 1532 |
dataLog("Fatal: collector does not believe that the world is stopped.\n"); |
1532 |
dataLog("Fatal: collector does not believe that the world is stopped.\n"); |
| 1533 |
#if OS(DARWIN) |
|
|
| 1534 |
// FIXME: Remove this when no longer needed. |
| 1535 |
// https://bugs.webkit.org/show_bug.cgi?id=170094 |
| 1536 |
#if CPU(X86_64) |
| 1537 |
unsigned worldState = m_worldState.load(); |
| 1538 |
asm volatile( |
| 1539 |
"int3" |
| 1540 |
: |
| 1541 |
: "a"(m_currentPhase), "b"(m_nextPhase), "c"(worldState), "S"(m_lastServedTicket), "D"(m_lastGrantedTicket) |
| 1542 |
: "memory"); |
| 1543 |
#elif CPU(ARM64) |
| 1544 |
unsigned worldState = m_worldState.load(); |
| 1545 |
asm volatile( |
| 1546 |
"ldrb w0, %0\n" |
| 1547 |
"ldrb w1, %1\n" |
| 1548 |
"ldr w2, %2\n" |
| 1549 |
"ldr x3, %3\n" |
| 1550 |
"ldr x4, %4\n" |
| 1551 |
"brk #0" |
| 1552 |
: |
| 1553 |
: "m"(m_currentPhase), "m"(m_nextPhase), "m"(worldState), "m"(m_lastServedTicket), "m"(m_lastGrantedTicket) |
| 1554 |
: "memory"); |
| 1555 |
#endif |
| 1556 |
#endif // OS(DARWIN) |
| 1557 |
RELEASE_ASSERT_NOT_REACHED(); |
1533 |
RELEASE_ASSERT_NOT_REACHED(); |
| 1558 |
} |
1534 |
} |
| 1559 |
m_collectorBelievesThatTheWorldIsStopped = false; |
1535 |
m_collectorBelievesThatTheWorldIsStopped = false; |