Ignore:
Timestamp:
Oct 28, 2013, 3:32:37 PM (12 years ago)
Author:
[email protected]
Message:

OSRExit::m_watchpointIndex should be in OSRExitCompilationInfo
https://bugs.webkit.org/show_bug.cgi?id=123423

Reviewed by Mark Hahnenberg.

Also enable ExitKind to tell you if it's a watchpoint.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:

(JSC::isWatchpoint):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::appendExitInfo):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::OSRExit):

  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitCompilationInfo.h:

(JSC::DFG::OSRExitCompilationInfo::OSRExitCompilationInfo):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationWatchpoint):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/ExitKind.h

    r156047 r158141  
    3636    BadCache, // We exited because an inline cache was wrong.
    3737    BadWeakConstantCache, // We exited because a cache on a weak constant (usually a prototype) was wrong.
     38    BadCacheWatchpoint, // Same as BadCache but from a watchpoint.
     39    BadWeakConstantCacheWatchpoint, // Same as BadWeakConstantCache but from a watchpoint.
    3840    BadIndexingType, // We exited because an indexing type was wrong.
    3941    Overflow, // We exited because of overflow.
     
    5557bool exitKindIsCountable(ExitKind);
    5658
     59inline bool isWatchpoint(ExitKind kind)
     60{
     61    switch (kind) {
     62    case BadCacheWatchpoint:
     63    case BadWeakConstantCacheWatchpoint:
     64    case UncountableWatchpoint:
     65        return true;
     66    default:
     67        return false;
     68    }
     69}
     70
    5771} // namespace JSC
    5872
Note: See TracChangeset for help on using the changeset viewer.