summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/assembler/LinkBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/assembler/LinkBuffer.h')
-rw-r--r--JavaScriptCore/assembler/LinkBuffer.h27
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
};