Changeset 64608 in webkit for trunk/JavaScriptCore/assembler
- Timestamp:
- Aug 3, 2010, 5:15:47 PM (15 years ago)
- Location:
- trunk/JavaScriptCore/assembler
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/ARMAssembler.cpp
r64327 r64608 352 352 353 353 char* data = reinterpret_cast<char*>(m_buffer.executableCopy(allocator)); 354 if (!data) 355 return 0; 354 356 355 357 for (Jumps::Iterator iter = m_jumps.begin(); iter != m_jumps.end(); ++iter) { -
trunk/JavaScriptCore/assembler/ARMv7Assembler.h
r62437 r64608 1629 1629 { 1630 1630 void* copy = m_formatter.executableCopy(allocator); 1631 if (!copy) 1632 return 0; 1631 1633 1632 1634 unsigned jumpCount = m_jumpsToLink.size(); … … 1638 1640 m_jumpsToLink.clear(); 1639 1641 1640 ASSERT(copy);1641 1642 return copy; 1642 1643 } -
trunk/JavaScriptCore/assembler/LinkBuffer.h
r55633 r64608 57 57 typedef MacroAssembler::DataLabelPtr DataLabelPtr; 58 58 59 enum LinkBufferState { 60 StateInit, 61 StateChecked, 62 StateFinalized, 63 }; 64 59 65 public: 60 66 // Note: Initialization sequence is significant, since executablePool is a PassRefPtr. … … 66 72 , m_size(masm->m_assembler.size()) 67 73 #ifndef NDEBUG 68 , m_ completed(false)74 , m_state(StateInit) 69 75 #endif 70 76 { … … 73 79 ~LinkBuffer() 74 80 { 75 ASSERT(m_completed); 81 ASSERT(m_state == StateFinalized); 82 } 83 84 // After constructing a link buffer, a client must call allocationSuccessful() to check alloc did not return 0. 85 bool allocationSuccessful() 86 { 87 #ifndef NDEBUG 88 ASSERT(m_state == StateInit); 89 m_state = StateChecked; 90 #endif 91 92 return m_code; 76 93 } 77 94 … … 171 188 { 172 189 #ifndef NDEBUG 173 ASSERT( !m_completed);174 m_ completed = true;190 ASSERT(m_state == StateChecked); 191 m_state = StateFinalized; 175 192 #endif 176 193 … … 183 200 size_t m_size; 184 201 #ifndef NDEBUG 185 bool m_completed;202 LinkBufferState m_state; 186 203 #endif 187 204 }; -
trunk/JavaScriptCore/assembler/MIPSAssembler.h
r59527 r64608 690 690 { 691 691 void *result = m_buffer.executableCopy(allocator); 692 if (!result) 693 return 0; 694 695 relocateJumps(m_buffer.data(), result); 692 if (result) 693 relocateJumps(m_buffer.data(), result); 696 694 return result; 697 695 } -
trunk/JavaScriptCore/assembler/X86Assembler.h
r58562 r64608 1627 1627 void* executableCopy(ExecutablePool* allocator) 1628 1628 { 1629 void* copy = m_formatter.executableCopy(allocator); 1630 ASSERT(copy); 1631 return copy; 1629 return m_formatter.executableCopy(allocator); 1632 1630 } 1633 1631
Note:
See TracChangeset
for help on using the changeset viewer.