diff options
Diffstat (limited to 'Source/JavaScriptCore/jit/JITWriteBarrier.h')
-rw-r--r-- | Source/JavaScriptCore/jit/JITWriteBarrier.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/JavaScriptCore/jit/JITWriteBarrier.h b/Source/JavaScriptCore/jit/JITWriteBarrier.h index ee73b702f..9da1ea782 100644 --- a/Source/JavaScriptCore/jit/JITWriteBarrier.h +++ b/Source/JavaScriptCore/jit/JITWriteBarrier.h @@ -30,12 +30,13 @@ #include "MacroAssembler.h" #include "SlotVisitor.h" +#include "UnusedPointer.h" #include "WriteBarrier.h" namespace JSC { class JSCell; -class JSGlobalData; +class VM; // Needs to be even to appease some of the backends. #define JITWriteBarrierFlag ((void*)2) @@ -69,14 +70,14 @@ public: } void clear() { clear(0); } - void clearToMaxUnsigned() { clear(reinterpret_cast<void*>(-1)); } + void clearToUnusedPointer() { clear(reinterpret_cast<void*>(unusedPointer)); } protected: JITWriteBarrierBase() { } - void set(JSGlobalData&, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value) + void set(VM&, CodeLocationDataLabelPtr location, JSCell* owner, JSCell* value) { Heap::writeBarrier(owner, value); m_location = location; @@ -90,8 +91,7 @@ protected: if (!m_location || m_location.executableAddress() == JITWriteBarrierFlag) return 0; void* result = static_cast<JSCell*>(MacroAssembler::readPointer(m_location)); - // We use -1 to indicate a "safe" empty value in the instruction stream - if (result == (void*)-1) + if (result == reinterpret_cast<void*>(unusedPointer)) return 0; return static_cast<JSCell*>(result); } @@ -116,15 +116,15 @@ public: { } - void set(JSGlobalData& globalData, CodeLocationDataLabelPtr location, JSCell* owner, T* value) + void set(VM& vm, CodeLocationDataLabelPtr location, JSCell* owner, T* value) { validateCell(owner); validateCell(value); - JITWriteBarrierBase::set(globalData, location, owner, value); + JITWriteBarrierBase::set(vm, location, owner, value); } - void set(JSGlobalData& globalData, JSCell* owner, T* value) + void set(VM& vm, JSCell* owner, T* value) { - set(globalData, location(), owner, value); + set(vm, location(), owner, value); } T* get() const { |