diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/CodeBlock.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h index ed072f832..56ede595a 100644 --- a/Source/JavaScriptCore/bytecode/CodeBlock.h +++ b/Source/JavaScriptCore/bytecode/CodeBlock.h @@ -55,6 +55,7 @@ #include "JITCode.h" #include "JITWriteBarrier.h" #include "JSGlobalObject.h" +#include "JumpReplacementWatchpoint.h" #include "JumpTable.h" #include "LLIntCallLinkInfo.h" #include "LazyOperandValueProfile.h" @@ -103,6 +104,7 @@ namespace JSC { class DFGCodeBlocks; class ExecState; class LLIntOffsetsExtractor; + class RepatchBuffer; inline int unmodifiedArgumentsRegister(int argumentsRegister) { return argumentsRegister - 1; } @@ -204,6 +206,8 @@ namespace JSC { { return *(binarySearch<StructureStubInfo, unsigned, getStructureStubInfoBytecodeIndex>(m_structureStubInfos.begin(), m_structureStubInfos.size(), bytecodeIndex)); } + + void resetStub(StructureStubInfo&); CallLinkInfo& getCallLinkInfo(ReturnAddressPtr returnAddress) { @@ -328,7 +332,7 @@ namespace JSC { return result; } - unsigned appendWatchpoint(const Watchpoint& watchpoint) + unsigned appendWatchpoint(const JumpReplacementWatchpoint& watchpoint) { createDFGDataIfNecessary(); unsigned result = m_dfgData->watchpoints.size(); @@ -367,7 +371,7 @@ namespace JSC { return m_dfgData->speculationRecovery[index]; } - Watchpoint& watchpoint(unsigned index) + JumpReplacementWatchpoint& watchpoint(unsigned index) { return m_dfgData->watchpoints[index]; } @@ -1232,6 +1236,10 @@ namespace JSC { if (!m_rareData) m_rareData = adoptPtr(new RareData); } + +#if ENABLE(JIT) + void resetStubInternal(RepatchBuffer&, StructureStubInfo&); +#endif int m_numParameters; @@ -1299,7 +1307,7 @@ namespace JSC { Vector<DFG::OSREntryData> osrEntry; SegmentedVector<DFG::OSRExit, 8> osrExit; Vector<DFG::SpeculationRecovery> speculationRecovery; - SegmentedVector<Watchpoint, 1, 0> watchpoints; + SegmentedVector<JumpReplacementWatchpoint, 1, 0> watchpoints; Vector<WeakReferenceTransition> transitions; Vector<WriteBarrier<JSCell> > weakReferences; DFG::VariableEventStream variableEventStream; |