Changeset 180690 in webkit
- Timestamp:
- Feb 26, 2015, 11:44:08 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r180689 r180690 1 2015-02-26 Mark Lam <mark.lam@apple.com> 2 3 Rolling out r180602, r180608, r180613, r180617, r180671. 4 <https://webkit.org/b/141990> 5 6 Not reviewed. 7 8 The r180602 solution does result in more work for GC when worker 9 threads are in use. Filip is uncomfortable with that. 10 The EFL and GTK ports also seem to be unhappy with this change. 11 Rolling out while we investigate. 12 13 * platform/efl/TestExpectations: 14 1 15 2015-02-26 Myles C. Maxfield <mmaxfield@apple.com> 2 16 -
trunk/LayoutTests/platform/efl/TestExpectations
r180672 r180690 811 811 812 812 # Fail after r139145 on MAC, EFL, QT, GTK. 813 #webkit.org/b/106415 fast/workers/worker-close-more.html [ Timeout ]814 #webkit.org/b/106415 fast/workers/worker-document-leak.html [ Pass Failure ]815 #webkit.org/b/106415 fast/workers/worker-lifecycle.html [ Pass Failure ]813 webkit.org/b/106415 fast/workers/worker-close-more.html [ Timeout ] 814 webkit.org/b/106415 fast/workers/worker-document-leak.html [ Pass Failure ] 815 webkit.org/b/106415 fast/workers/worker-lifecycle.html [ Pass Failure ] 816 816 817 817 webkit.org/b/124929 http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order.html [ Failure Pass ] … … 982 982 webkit.org/b/106507 storage/storagequota-query-usage.html 983 983 webkit.org/b/106507 storage/storagequota-request-quota.html 984 #webkit.org/b/106507 fast/workers/worker-storagequota-query-usage.html984 webkit.org/b/106507 fast/workers/worker-storagequota-query-usage.html 985 985 986 986 # JSC does not support setIsolatedWorldSecurityOrigin. … … 2097 2097 webkit.org/b/141958 http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients.html [ Failure ] 2098 2098 webkit.org/b/141958 http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html [ Failure ] 2099 2100 # [EFL][GTK] REGRESSION(180602): It made fast/workers test timeout2101 webkit.org/b/142041 fast/workers [ Skip ] -
trunk/Source/JavaScriptCore/ChangeLog
r180689 r180690 1 2015-02-26 Mark Lam <mark.lam@apple.com> 2 3 Rolling out r180602, r180608, r180613, r180617, r180671. 4 <https://webkit.org/b/141990> 5 6 Not reviewed. 7 8 The r180602 solution does result in more work for GC when worker 9 threads are in use. Filip is uncomfortable with that. 10 The EFL and GTK ports also seem to be unhappy with this change. 11 Rolling out while we investigate. 12 13 * heap/Heap.cpp: 14 (JSC::Heap::Heap): 15 (JSC::Heap::gatherStackRoots): 16 (JSC::Heap::machineThreads): Deleted. 17 * heap/Heap.h: 18 (JSC::Heap::machineThreads): 19 * heap/MachineStackMarker.cpp: 20 (JSC::MachineThreads::MachineThreads): 21 (JSC::MachineThreads::~MachineThreads): 22 (JSC::MachineThreads::addCurrentThread): 23 * heap/MachineStackMarker.h: 24 * runtime/JSLock.cpp: 25 (JSC::JSLock::didAcquireLock): 26 1 27 2015-02-26 Myles C. Maxfield <mmaxfield@apple.com> 2 28 -
trunk/Source/JavaScriptCore/heap/Heap.cpp
r180602 r180690 312 312 , m_storageSpace(this) 313 313 , m_extraMemoryUsage(0) 314 , m_machineThreads(this) 314 315 , m_sharedData(vm) 315 316 , m_slotVisitor(m_sharedData) … … 349 350 } 350 351 351 MachineThreads& Heap::machineThreads()352 {353 static std::once_flag initializeMachineThreadsOnceFlag;354 static MachineThreads* machineThreads = nullptr;355 356 std::call_once(initializeMachineThreadsOnceFlag, [] {357 machineThreads = new MachineThreads();358 });359 360 return *machineThreads;361 }362 363 352 bool Heap::isPagedOut(double deadline) 364 353 { … … 599 588 GCPHASE(GatherStackRoots); 600 589 m_jitStubRoutines.clearMarks(); 601 m achineThreads().gatherConservativeRoots(roots, m_jitStubRoutines, m_codeBlocks, dummy, registers);590 m_machineThreads.gatherConservativeRoots(roots, m_jitStubRoutines, m_codeBlocks, dummy, registers); 602 591 } 603 592 -
trunk/Source/JavaScriptCore/heap/Heap.h
r180617 r180690 120 120 VM* vm() const { return m_vm; } 121 121 MarkedSpace& objectSpace() { return m_objectSpace; } 122 JS_EXPORT_PRIVATE static MachineThreads& machineThreads();122 MachineThreads& machineThreads() { return m_machineThreads; } 123 123 124 124 const SlotVisitor& slotVisitor() const { return m_slotVisitor; } … … 356 356 std::unique_ptr<HashSet<MarkedArgumentBuffer*>> m_markListSet; 357 357 358 MachineThreads m_machineThreads; 359 358 360 GCThreadSharedData m_sharedData; 359 361 SlotVisitor m_slotVisitor; -
trunk/Source/JavaScriptCore/heap/MachineStackMarker.cpp
r180649 r180690 116 116 }; 117 117 118 MachineThreads::MachineThreads( )118 MachineThreads::MachineThreads(Heap* heap) 119 119 : m_registeredThreads(0) 120 120 , m_threadSpecific(0) 121 { 121 #if !ASSERT_DISABLED 122 , m_heap(heap) 123 #endif 124 { 125 UNUSED_PARAM(heap); 122 126 threadSpecificKeyCreate(&m_threadSpecific, removeThread); 123 127 } 124 128 125 NO_RETURN_DUE_TO_CRASH MachineThreads::~MachineThreads() 126 { 127 RELEASE_ASSERT_NOT_REACHED(); 129 MachineThreads::~MachineThreads() 130 { 131 threadSpecificKeyDelete(m_threadSpecific); 132 133 MutexLocker registeredThreadsLock(m_registeredThreadsMutex); 134 for (Thread* t = m_registeredThreads; t;) { 135 Thread* next = t->next; 136 delete t; 137 t = next; 138 } 128 139 } 129 140 … … 150 161 } 151 162 152 void MachineThreads::addCurrentThread( VM* vm)153 { 154 ASSERT _UNUSED(vm, !vm->hasExclusiveThread() || vm->exclusiveThread() == std::this_thread::get_id());163 void MachineThreads::addCurrentThread() 164 { 165 ASSERT(!m_heap->vm()->hasExclusiveThread() || m_heap->vm()->exclusiveThread() == std::this_thread::get_id()); 155 166 156 167 if (threadSpecificGet(m_threadSpecific)) { -
trunk/Source/JavaScriptCore/heap/MachineStackMarker.h
r180613 r180690 34 34 class Heap; 35 35 class JITStubRoutineSet; 36 class VM;37 36 38 37 class MachineThreads { … … 41 40 typedef jmp_buf RegisterState; 42 41 43 MachineThreads( );44 NO_RETURN_DUE_TO_CRASH~MachineThreads();42 MachineThreads(Heap*); 43 ~MachineThreads(); 45 44 46 45 void gatherConservativeRoots(ConservativeRoots&, JITStubRoutineSet&, CodeBlockSet&, void* stackCurrent, RegisterState& registers); 47 46 48 JS_EXPORT_PRIVATE void addCurrentThread( VM*); // Only needs to be called by clients that can use the same heap from multiple threads.47 JS_EXPORT_PRIVATE void addCurrentThread(); // Only needs to be called by clients that can use the same heap from multiple threads. 49 48 50 49 private: … … 62 61 Thread* m_registeredThreads; 63 62 WTF::ThreadSpecificKey m_threadSpecific; 63 #if !ASSERT_DISABLED 64 Heap* m_heap; 65 #endif 64 66 }; 65 67 -
trunk/Source/JavaScriptCore/runtime/JSLock.cpp
r180602 r180690 145 145 ASSERT(m_entryAtomicStringTable); 146 146 147 m_vm->heap.machineThreads().addCurrentThread( m_vm);147 m_vm->heap.machineThreads().addCurrentThread(); 148 148 } 149 149 -
trunk/Source/WebCore/ChangeLog
r180689 r180690 1 2015-02-26 Mark Lam <mark.lam@apple.com> 2 3 Rolling out r180602, r180608, r180613, r180617, r180671. 4 <https://webkit.org/b/141990> 5 6 Not reviewed. 7 8 The r180602 solution does result in more work for GC when worker 9 threads are in use. Filip is uncomfortable with that. 10 The EFL and GTK ports also seem to be unhappy with this change. 11 Rolling out while we investigate. 12 13 * bindings/js/JSDOMWindowBase.cpp: 14 (WebCore::JSDOMWindowBase::commonVM): 15 1 16 2015-02-26 Myles C. Maxfield <mmaxfield@apple.com> 2 17 -
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp
r180608 r180690 213 213 #endif 214 214 vm->heap.setIncrementalSweeper(std::make_unique<WebSafeIncrementalSweeper>(&vm->heap)); 215 vm->heap.machineThreads().addCurrentThread( vm);215 vm->heap.machineThreads().addCurrentThread(); 216 216 #endif 217 217 initNormalWorldClientData(vm);
Note:
See TracChangeset
for help on using the changeset viewer.