diff options
Diffstat (limited to 'JavaScriptCore/assembler/LinkBuffer.h')
-rw-r--r-- | JavaScriptCore/assembler/LinkBuffer.h | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/JavaScriptCore/assembler/LinkBuffer.h b/JavaScriptCore/assembler/LinkBuffer.h index 624d1cc..408deb0 100644 --- a/JavaScriptCore/assembler/LinkBuffer.h +++ b/JavaScriptCore/assembler/LinkBuffer.h @@ -62,12 +62,6 @@ class LinkBuffer : public Noncopyable { typedef MacroAssembler::JumpLinkType JumpLinkType; #endif - enum LinkBufferState { - StateInit, - StateChecked, - StateFinalized, - }; - public: // Note: Initialization sequence is significant, since executablePool is a PassRefPtr. // First, executablePool is copied into m_executablePool, then the initialization of @@ -79,7 +73,7 @@ public: , m_code(0) , m_assembler(masm) #ifndef NDEBUG - , m_state(StateInit) + , m_completed(false) #endif { linkCode(linkOffset); @@ -87,18 +81,7 @@ public: ~LinkBuffer() { - ASSERT(m_state == StateFinalized); - } - - // After constructing a link buffer, a client must call allocationSuccessful() to check alloc did not return 0. - bool allocationSuccessful() - { -#ifndef NDEBUG - ASSERT(m_state == StateInit); - m_state = StateChecked; -#endif - - return m_code; + ASSERT(m_completed); } // These methods are used to link or set values at code generation time. @@ -284,8 +267,8 @@ private: void performFinalization() { #ifndef NDEBUG - ASSERT(m_state == StateChecked); - m_state = StateFinalized; + ASSERT(!m_completed); + m_completed = true; #endif ExecutableAllocator::makeExecutable(code(), m_size); @@ -297,7 +280,7 @@ private: void* m_code; MacroAssembler* m_assembler; #ifndef NDEBUG - LinkBufferState m_state; + bool m_completed; #endif }; |