summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/CodeBlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.h')
-rw-r--r--Source/JavaScriptCore/bytecode/CodeBlock.h14
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;