Changeset 71722 in webkit
- Timestamp:
- Nov 9, 2010 11:36:33 PM (13 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r71691 r71722 1 2010-11-09 Gabor Loki <loki@webkit.org> 2 3 Reviewed by Gavin Barraclough. 4 5 ARM JIT asserts when loading http://reader.google.com in debug mode 6 https://bugs.webkit.org/show_bug.cgi?id=48912 7 8 There are several cases when the uninterrupted sequence is larger than 9 maximum required offset for pathing the same sequence. Eg.: if in a 10 uninterrupted sequence the last macroassembler's instruction is a stub 11 call, it emits store instruction(s) which should not be included in the 12 calculation of length of uninterrupted sequence. So, the insnSpace and 13 constSpace should be upper limit instead of hard limit. 14 15 * jit/JIT.h: 16 * jit/JITInlineMethods.h: 17 (JSC::JIT::endUninterruptedSequence): 18 1 19 2010-11-09 David Kilzer <ddkilzer@apple.com> 2 20 -
trunk/JavaScriptCore/jit/JIT.h
r70111 r71722 403 403 static const int sequenceGetByIdHotPathConstantSpace = 4; 404 404 // sequenceGetByIdSlowCase 405 static const int sequenceGetByIdSlowCaseInstructionSpace = 40;405 static const int sequenceGetByIdSlowCaseInstructionSpace = 56; 406 406 static const int sequenceGetByIdSlowCaseConstantSpace = 2; 407 407 // sequencePutById -
trunk/JavaScriptCore/jit/JITInlineMethods.h
r70703 r71722 123 123 { 124 124 #if defined(ASSEMBLER_HAS_CONSTANT_POOL) && ASSEMBLER_HAS_CONSTANT_POOL 125 ASSERT(differenceBetween(m_uninterruptedInstructionSequenceBegin, label()) == insnSpace); 126 ASSERT(sizeOfConstantPool() - m_uninterruptedConstantSequenceBegin == constSpace); 125 /* There are several cases when the uninterrupted sequence is larger than 126 * maximum required offset for pathing the same sequence. Eg.: if in a 127 * uninterrupted sequence the last macroassembler's instruction is a stub 128 * call, it emits store instruction(s) which should not be included in the 129 * calculation of length of uninterrupted sequence. So, the insnSpace and 130 * constSpace should be upper limit instead of hard limit. 131 */ 132 ASSERT(differenceBetween(m_uninterruptedInstructionSequenceBegin, label()) <= insnSpace); 133 ASSERT(sizeOfConstantPool() - m_uninterruptedConstantSequenceBegin <= constSpace); 127 134 #endif 128 135 JSInterfaceJIT::endUninterruptedSequence();
Note: See TracChangeset
for help on using the changeset viewer.