diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/StructureStubInfo.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/StructureStubInfo.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.h b/Source/JavaScriptCore/bytecode/StructureStubInfo.h index 807966cf3..737ea88c2 100644 --- a/Source/JavaScriptCore/bytecode/StructureStubInfo.h +++ b/Source/JavaScriptCore/bytecode/StructureStubInfo.h @@ -36,6 +36,8 @@ #include "MacroAssembler.h" #include "Opcode.h" #include "Structure.h" +#include "StructureStubClearingWatchpoint.h" +#include <wtf/OwnPtr.h> namespace JSC { @@ -170,6 +172,7 @@ namespace JSC { deref(); accessType = access_unset; stubRoutine.clear(); + watchpoints.clear(); } void deref(); @@ -186,6 +189,12 @@ namespace JSC { seen = true; } + StructureStubClearingWatchpoint* addWatchpoint(CodeBlock* codeBlock) + { + return WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint( + watchpoints, codeBlock, this); + } + unsigned bytecodeIndex; int8_t accessType; @@ -290,6 +299,7 @@ namespace JSC { RefPtr<JITStubRoutine> stubRoutine; CodeLocationCall callReturnLocation; CodeLocationLabel hotPathBegin; + RefPtr<WatchpointsOnStructureStubInfo> watchpoints; }; inline void* getStructureStubInfoReturnLocation(StructureStubInfo* structureStubInfo) |