Changeset 91869 in webkit
- Timestamp:
- Jul 27, 2011 2:44:49 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r91837 r91869 1 2011-07-27 Stephanie Lewis <slewis@apple.com> 2 3 Revert http://trac.webkit.org/changeset/90415. 4 Caused a 5% sunspider regression in-browser. 5 6 Unreviewed rollout. 7 8 * bytecode/CodeBlock.cpp: 9 (JSC::CodeBlock::visitAggregate): 10 * heap/Heap.cpp: 11 (JSC::Heap::collectAllGarbage): 12 * heap/MarkStack.h: 13 (JSC::MarkStack::MarkStack): 14 * runtime/JSGlobalData.cpp: 15 (JSC::JSGlobalData::releaseExecutableMemory): 16 * runtime/RegExp.cpp: 17 (JSC::RegExp::compile): 18 (JSC::RegExp::invalidateCode): 19 * runtime/RegExp.h: 20 1 21 2011-07-27 Shinya Kawanaka <shinyak@google.com> 2 22 -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r91706 r91869 1547 1547 visitor.append(&m_functionDecls[i]); 1548 1548 #if ENABLE(JIT) 1549 if (visitor.shouldUnlinkCalls())1550 unlinkCalls();1551 1549 for (unsigned i = 0; i < numberOfCallLinkInfos(); ++i) 1552 1550 if (callLinkInfo(i).isLinked()) -
trunk/Source/JavaScriptCore/heap/Heap.cpp
r91039 r91869 540 540 if (!m_isSafeToCollect) 541 541 return; 542 m_slotVisitor.setShouldUnlinkCalls(true); 542 if (!m_globalData->dynamicGlobalObject) 543 m_globalData->recompileAllJSFunctions(); 544 543 545 collect(DoSweep); 544 m_slotVisitor.setShouldUnlinkCalls(false);545 546 } 546 547 -
trunk/Source/JavaScriptCore/heap/MarkStack.h
r90421 r91869 98 98 void reset(); 99 99 100 bool shouldUnlinkCalls() const { return m_shouldUnlinkCalls; }101 void setShouldUnlinkCalls(bool shouldUnlinkCalls) { m_shouldUnlinkCalls = shouldUnlinkCalls; }102 103 100 protected: 104 101 #if ENABLE(GC_VALIDATION) … … 124 121 bool m_isDraining; 125 122 #endif 126 127 private:128 bool m_shouldUnlinkCalls;129 123 }; 130 124 … … 135 129 , m_isDraining(false) 136 130 #endif 137 , m_shouldUnlinkCalls(false)138 131 { 139 132 } -
trunk/Source/JavaScriptCore/runtime/JSGlobalData.cpp
r91199 r91869 498 498 } 499 499 heap.forEachCell<StackPreservingRecompiler>(recompiler); 500 } else 501 recompileAllJSFunctions(); 502 500 } 503 501 m_regExpCache->invalidateCode(); 504 502 heap.collectAllGarbage(); -
trunk/Source/JavaScriptCore/runtime/RegExp.cpp
r91194 r91869 114 114 ASSERT(m_state == NotCompiled); 115 115 m_representation = adoptPtr(new RegExpRepresentation); 116 m_state = Compiling;117 116 Yarr::YarrPattern pattern(m_patternString, ignoreCase(), multiline(), &m_constructionError); 118 117 if (m_constructionError) { … … 125 124 126 125 ASSERT(m_numSubpatterns == pattern.m_numSubpatterns); 126 127 m_state = ByteCode; 127 128 128 129 #if ENABLE(YARR_JIT) … … 144 145 145 146 m_representation->m_regExpBytecode = Yarr::byteCompile(pattern, &globalData->m_regExpAllocator); 146 147 m_state = ByteCode;148 147 } 149 148 … … 206 205 void RegExp::invalidateCode() 207 206 { 208 if (!m_representation || m_state == Compiling)207 if (!m_representation) 209 208 return; 210 209 m_state = NotCompiled; -
trunk/Source/JavaScriptCore/runtime/RegExp.h
r91194 r91869 84 84 JITCode, 85 85 ByteCode, 86 NotCompiled, 87 Compiling 86 NotCompiled 88 87 } m_state; 89 88
Note: See TracChangeset
for help on using the changeset viewer.