Ignore:
Timestamp:
Jan 4, 2012, 4:31:10 PM (13 years ago)
Author:
[email protected]
Message:

StructureStubInfo not reset when corresponding MethodCallLinkInfo is reset
https://bugs.webkit.org/show_bug.cgi?id=75583

Reviewed by Filip Pizlo.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally): Find the corresponding
StructureStubInfo and reset the appropriate JIT and
the StructureStubInfo itself when reseting a MethodCallLinkInfo.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r103384 r104094  
    17891789                    printf("Clearing method call in %p.\n", this);
    17901790                m_methodCallLinkInfos[i].reset(repatchBuffer, getJITType());
     1791
     1792                StructureStubInfo& stubInfo = getStubInfo(m_methodCallLinkInfos[i].bytecodeIndex);
     1793
     1794                AccessType accessType = static_cast<AccessType>(stubInfo.accessType);
     1795
     1796                if (accessType != access_unset) {
     1797                    ASSERT(isGetByIdAccess(accessType));
     1798                    if (getJITCode().jitType() == JITCode::DFGJIT)
     1799                        DFG::dfgResetGetByID(repatchBuffer, stubInfo);
     1800                    else
     1801                        JIT::resetPatchGetById(repatchBuffer, &stubInfo);
     1802                    stubInfo.reset();
     1803                }
    17911804            }
    17921805        }
Note: See TracChangeset for help on using the changeset viewer.