Ignore:
Timestamp:
Apr 20, 2022, 8:32:52 PM (3 years ago)
Author:
[email protected]
Message:

Fix GPRInfo inconsistency in unlinked DFG bringup
https://bugs.webkit.org/show_bug.cgi?id=239573

Reviewed by Mark Lam.

Previously, we forgot changing GPRInfo::toIndex of x64 so that we got assertion in ScratchRegisterAllocator.
This patch fixes it and test this consistency in testmasm.
It allows unlinked DFG style register usage in x64, so we reenabled it again.

  • Source/JavaScriptCore/assembler/testmasm.cpp:

(JSC::testGPRInfoConsistency):

  • Source/JavaScriptCore/dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • Source/JavaScriptCore/jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toArgumentRegister):
(JSC::GPRInfo::toIndex):

Canonical link: https://commits.webkit.org/249839@main

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGPlan.cpp

    r293020 r293141  
    317317    }
    318318
    319     // Currently, due to GPRInfo::numberOfRegisters issue, we cannot enable it on x64.
    320     if (isX86_64())
    321         RELEASE_ASSERT(m_mode != JITCompilationMode::UnlinkedDFG);
    322 
    323319    switch (m_mode) {
    324320    case JITCompilationMode::DFG:
Note: See TracChangeset for help on using the changeset viewer.