Changeset 145933 in webkit
- Timestamp:
- Mar 15, 2013 1:24:39 PM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r145931 r145933 1 2013-03-15 Michael Saboff <msaboff@apple.com> 2 3 Cleanup of DFG and Baseline JIT debugging code 4 https://bugs.webkit.org/show_bug.cgi?id=111871 5 6 Reviewed by Geoffrey Garen. 7 8 Fixed various debug related issue in baseline and DFG JITs. See below. 9 10 * dfg/DFGRepatch.cpp: 11 (JSC::DFG::dfgLinkClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL. 12 * dfg/DFGScratchRegisterAllocator.h: Now use ScratchBuffer::activeLengthPtr() to get 13 pointer to scratch register length. 14 (JSC::DFG::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer): 15 (JSC::DFG::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer): 16 * dfg/DFGSpeculativeJIT.cpp: 17 (JSC::DFG::SpeculativeJIT::checkConsistency): Added missing case labels for DataFormatOSRMarker, 18 DataFormatDead, and DataFormatArguments and made them RELEASE_ASSERT_NOT_REACHED(); 19 * jit/JITCall.cpp: 20 (JSC::JIT::privateCompileClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL. 21 * jit/JITCall32_64.cpp: 22 (JSC::JIT::privateCompileClosureCall): Used pointerDump() to handle when calleeCodeBlock is NULL. 23 * runtime/JSGlobalData.h: 24 (JSC::ScratchBuffer::ScratchBuffer): Fixed buffer allocation alignment to 25 be on a double boundary. 26 (JSC::ScratchBuffer::setActiveLength): 27 (JSC::ScratchBuffer::activeLength): 28 (JSC::ScratchBuffer::activeLengthPtr): 29 1 30 2013-03-15 Michael Saboff <msaboff@apple.com> 2 31 -
trunk/Source/JavaScriptCore/dfg/DFGRepatch.cpp
r141951 r145933 1235 1235 ("DFG closure call stub for %s, return point %p, target %p (%s)", 1236 1236 toCString(*callerCodeBlock).data(), callLinkInfo.callReturnLocation.labelAtOffset(0).executableAddress(), 1237 codePtr.executableAddress(), toCString( *calleeCodeBlock).data())),1237 codePtr.executableAddress(), toCString(pointerDump(calleeCodeBlock)).data())), 1238 1238 *globalData, callerCodeBlock->ownerExecutable(), structure, executable, callLinkInfo.codeOrigin)); 1239 1239 -
trunk/Source/JavaScriptCore/dfg/DFGScratchRegisterAllocator.h
r140619 r145933 147 147 RELEASE_ASSERT(count * sizeof(JSValue) == desiredScratchBufferSize()); 148 148 149 jit.move(MacroAssembler::TrustedImmPtr( &scratchBuffer->m_activeLength), scratchGPR);149 jit.move(MacroAssembler::TrustedImmPtr(scratchBuffer->activeLengthPtr()), scratchGPR); 150 150 jit.storePtr(MacroAssembler::TrustedImmPtr(static_cast<size_t>(count * sizeof(JSValue))), scratchGPR); 151 151 } … … 164 164 RELEASE_ASSERT(scratchGPR != InvalidGPRReg); 165 165 166 jit.move(MacroAssembler::TrustedImmPtr( &scratchBuffer->m_activeLength), scratchGPR);166 jit.move(MacroAssembler::TrustedImmPtr(scratchBuffer->activeLengthPtr()), scratchGPR); 167 167 jit.storePtr(MacroAssembler::TrustedImmPtr(0), scratchGPR); 168 168 -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
r145329 r145933 1149 1149 break; 1150 1150 } 1151 case DataFormatOSRMarker: 1152 case DataFormatDead: 1153 case DataFormatArguments: 1154 RELEASE_ASSERT_NOT_REACHED(); 1155 break; 1151 1156 } 1152 1157 } -
trunk/Source/JavaScriptCore/jit/JITCall.cpp
r144137 r145933 258 258 callLinkInfo->hotPathOther.labelAtOffset(0).executableAddress(), 259 259 codePtr.executableAddress(), 260 toCString( *calleeCodeBlock).data())),260 toCString(pointerDump(calleeCodeBlock)).data())), 261 261 *m_globalData, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable, 262 262 callLinkInfo->codeOrigin)); -
trunk/Source/JavaScriptCore/jit/JITCall32_64.cpp
r144137 r145933 338 338 callLinkInfo->hotPathOther.labelAtOffset(0).executableAddress(), 339 339 codePtr.executableAddress(), 340 toCString( *calleeCodeBlock).data())),340 toCString(pointerDump(calleeCodeBlock)).data())), 341 341 *m_globalData, m_codeBlock->ownerExecutable(), expectedStructure, expectedExecutable, 342 342 callLinkInfo->codeOrigin)); -
trunk/Source/JavaScriptCore/runtime/JSGlobalData.h
r145838 r145933 133 133 struct ScratchBuffer { 134 134 ScratchBuffer() 135 : m_activeLength(0)136 {135 { 136 u.m_activeLength = 0; 137 137 } 138 138 … … 145 145 146 146 static size_t allocationSize(size_t bufferSize) { return sizeof(ScratchBuffer) + bufferSize; } 147 void setActiveLength(size_t activeLength) { m_activeLength = activeLength; }148 size_t activeLength() const { return m_activeLength; };149 size_t* activeLengthPtr() { return & m_activeLength; };147 void setActiveLength(size_t activeLength) { u.m_activeLength = activeLength; } 148 size_t activeLength() const { return u.m_activeLength; }; 149 size_t* activeLengthPtr() { return &u.m_activeLength; }; 150 150 void* dataBuffer() { return m_buffer; } 151 151 152 size_t m_activeLength; 152 union { 153 size_t m_activeLength; 154 double pad; // Make sure m_buffer is double aligned. 155 } u; 153 156 #if CPU(MIPS) && (defined WTF_MIPS_ARCH_REV && WTF_MIPS_ARCH_REV == 2) 154 157 void* m_buffer[0] __attribute__((aligned(8)));
Note: See TracChangeset
for help on using the changeset viewer.