Title: [198229] trunk
- Revision
- 198229
- Author
- [email protected]
- Date
- 2016-03-15 14:48:15 -0700 (Tue, 15 Mar 2016)
Log Message
REGRESSION: ASSERTION FAILED: !m_lastActiveBlock on js/function-apply.html
https://bugs.webkit.org/show_bug.cgi?id=155411
<rdar://problem/25134537>
Patch by Joseph Pecoraro <[email protected]> on 2016-03-15
Reviewed by Mark Lam.
Source/_javascript_Core:
* heap/Heap.cpp:
(JSC::Heap::collectImpl):
(JSC::Heap::didFinishCollection):
During collection allocators are stop/reset. The HeapProfiler tasks
were using HeapIterationScope (to satisfy MarkedSpace forEachCell API
contracts) which was doing its own stop/resume of allocators. Doing a
stop/resume in between the normal stop/reset of collection is unexpected.
Move this to didFinishCollection, alongside other heap iterations
like zombies and immortal objects. Putting this after those tasks
also means the heap snapshots will respect the zombies/immortal options
when deciding if the cell is alive or not.
LayoutTests:
* platform/mac/TestExpectations:
Unmark test as flakey.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (198228 => 198229)
--- trunk/LayoutTests/ChangeLog 2016-03-15 20:41:00 UTC (rev 198228)
+++ trunk/LayoutTests/ChangeLog 2016-03-15 21:48:15 UTC (rev 198229)
@@ -1,3 +1,14 @@
+2016-03-15 Joseph Pecoraro <[email protected]>
+
+ REGRESSION: ASSERTION FAILED: !m_lastActiveBlock on js/function-apply.html
+ https://bugs.webkit.org/show_bug.cgi?id=155411
+ <rdar://problem/25134537>
+
+ Reviewed by Mark Lam.
+
+ * platform/mac/TestExpectations:
+ Unmark test as flakey.
+
2016-03-15 Ryan Haddad <[email protected]>
Fixing expectation for css3/masking/mask-svg-script-none-to-png.html on ios-simulator
Modified: trunk/LayoutTests/platform/mac/TestExpectations (198228 => 198229)
--- trunk/LayoutTests/platform/mac/TestExpectations 2016-03-15 20:41:00 UTC (rev 198228)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2016-03-15 21:48:15 UTC (rev 198229)
@@ -1342,5 +1342,3 @@
[ Yosemite ElCapitan ] fast/scrolling/rtl-scrollbars-overflow-padding.html [ ImageOnlyFailure ]
[ Yosemite ElCapitan ] fast/scrolling/rtl-scrollbars-overflow-simple.html [ ImageOnlyFailure ]
[ Yosemite ElCapitan ] fast/scrolling/rtl-scrollbars-overflow.html [ ImageOnlyFailure ]
-
-webkit.org/b/155411 [ Debug ] js/function-apply.html [ Pass Crash ]
Modified: trunk/Source/_javascript_Core/ChangeLog (198228 => 198229)
--- trunk/Source/_javascript_Core/ChangeLog 2016-03-15 20:41:00 UTC (rev 198228)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-03-15 21:48:15 UTC (rev 198229)
@@ -1,3 +1,24 @@
+2016-03-15 Joseph Pecoraro <[email protected]>
+
+ REGRESSION: ASSERTION FAILED: !m_lastActiveBlock on js/function-apply.html
+ https://bugs.webkit.org/show_bug.cgi?id=155411
+ <rdar://problem/25134537>
+
+ Reviewed by Mark Lam.
+
+ * heap/Heap.cpp:
+ (JSC::Heap::collectImpl):
+ (JSC::Heap::didFinishCollection):
+ During collection allocators are stop/reset. The HeapProfiler tasks
+ were using HeapIterationScope (to satisfy MarkedSpace forEachCell API
+ contracts) which was doing its own stop/resume of allocators. Doing a
+ stop/resume in between the normal stop/reset of collection is unexpected.
+
+ Move this to didFinishCollection, alongside other heap iterations
+ like zombies and immortal objects. Putting this after those tasks
+ also means the heap snapshots will respect the zombies/immortal options
+ when deciding if the cell is alive or not.
+
2016-03-15 Saam Barati <[email protected]>
We should have different JSTypes for JSGlobalLexicalEnvironment and JSLexicalEnvironment and JSModuleEnvironment
Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (198228 => 198229)
--- trunk/Source/_javascript_Core/heap/Heap.cpp 2016-03-15 20:41:00 UTC (rev 198228)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp 2016-03-15 21:48:15 UTC (rev 198229)
@@ -1176,11 +1176,6 @@
deleteUnmarkedCompiledCode();
deleteSourceProviderCaches();
- if (HeapProfiler* heapProfiler = m_vm->heapProfiler()) {
- gatherExtraHeapSnapshotData(*heapProfiler);
- removeDeadHeapSnapshotNodes(*heapProfiler);
- }
-
notifyIncrementalSweeper();
writeBarrierCurrentlyExecutingCodeBlocks();
@@ -1462,6 +1457,11 @@
if (Options::logGC() == GCLogging::Verbose)
GCLogging::dumpObjectGraph(this);
+ if (HeapProfiler* heapProfiler = m_vm->heapProfiler()) {
+ gatherExtraHeapSnapshotData(*heapProfiler);
+ removeDeadHeapSnapshotNodes(*heapProfiler);
+ }
+
RELEASE_ASSERT(m_operationInProgress == EdenCollection || m_operationInProgress == FullCollection);
m_operationInProgress = NoOperation;
_javascript_CORE_GC_END();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes