WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
167737
The collector thread should only start when the mutator doesn't have heap access
https://bugs.webkit.org/show_bug.cgi?id=167737
Summary
The collector thread should only start when the mutator doesn't have heap access
Filip Pizlo
Reported
2017-02-02 09:15:51 PST
Patch forthcoming.
Attachments
it begins
(39.63 KB, patch)
2017-02-02 10:59 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it is written
(56.26 KB, patch)
2017-02-02 12:10 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more things compile
(92.90 KB, patch)
2017-02-02 14:45 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it compiles!
(97.53 KB, patch)
2017-02-02 15:11 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
crashes after 1 GC
(98.19 KB, patch)
2017-02-03 16:32 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
restoring the "scan my own thread" part of ConservativeRoots
(103.50 KB, patch)
2017-02-03 17:02 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it's so correct that it can run FIVE collections before crashing
(104.21 KB, patch)
2017-02-04 12:12 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
seems to work
(135.73 KB, patch)
2017-02-04 18:45 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
performs well and added tests for passing the conn
(195.63 KB, patch)
2017-02-04 21:52 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
fix more bugs
(198.79 KB, patch)
2017-02-06 11:25 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
OMG it passes so many tests
(198.12 KB, patch)
2017-02-06 17:00 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
fix build a bit
(198.33 KB, patch)
2017-02-06 20:10 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more fixes
(199.27 KB, patch)
2017-02-06 20:16 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(199.28 KB, patch)
2017-02-06 20:18 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
fix more build
(198.63 KB, patch)
2017-02-06 21:03 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(213.13 KB, patch)
2017-02-10 16:44 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
fixed build again
(213.12 KB, patch)
2017-02-11 09:42 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
added more tests
(264.63 KB, patch)
2017-02-11 14:40 PST
,
Filip Pizlo
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews124 for ios-simulator-wk2
(903.10 KB, application/zip)
2017-02-11 16:10 PST
,
Build Bot
no flags
Details
Archive of layout-test-results from ews106 for mac-elcapitan-wk2
(966.42 KB, application/zip)
2017-02-11 16:48 PST
,
Build Bot
no flags
Details
redid conservative scanning again
(265.42 KB, patch)
2017-02-12 08:27 PST
,
Filip Pizlo
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews104 for mac-elcapitan-wk2
(1010.84 KB, application/zip)
2017-02-12 09:48 PST
,
Build Bot
no flags
Details
Archive of layout-test-results from ews125 for ios-simulator-wk2
(917.57 KB, application/zip)
2017-02-12 09:57 PST
,
Build Bot
no flags
Details
more
(272.22 KB, patch)
2017-02-12 11:01 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(272.63 KB, patch)
2017-02-12 12:35 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(272.64 KB, patch)
2017-02-12 14:18 PST
,
Filip Pizlo
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews116 for mac-elcapitan
(1.70 MB, application/zip)
2017-02-12 15:56 PST
,
Build Bot
no flags
Details
the patch
(273.39 KB, patch)
2017-02-13 20:13 PST
,
Filip Pizlo
fpizlo
: review-
Details
Formatted Diff
Diff
more
(275.62 KB, patch)
2017-02-14 14:50 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
patch from other computer
(275.40 KB, patch)
2017-02-14 14:53 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(277.28 KB, patch)
2017-02-14 16:05 PST
,
Filip Pizlo
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews115 for mac-elcapitan
(2.05 MB, application/zip)
2017-02-14 18:28 PST
,
Build Bot
no flags
Details
the patch
(277.35 KB, patch)
2017-02-16 10:24 PST
,
Filip Pizlo
keith_miller
: review+
Details
Formatted Diff
Diff
patch for landing
(279.09 KB, patch)
2017-02-16 13:18 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
patch for relanding
(264.97 KB, patch)
2017-02-19 17:29 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
better patch for relanding
(239.78 KB, patch)
2017-02-19 17:36 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(239.74 KB, patch)
2017-02-20 13:52 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(36)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2017-02-02 10:59:35 PST
Created
attachment 300421
[details]
it begins
Filip Pizlo
Comment 2
2017-02-02 12:10:56 PST
Created
attachment 300430
[details]
it is written Ugh, this will not be fun to test.
Filip Pizlo
Comment 3
2017-02-02 14:45:20 PST
Created
attachment 300453
[details]
more things compile
Filip Pizlo
Comment 4
2017-02-02 15:11:44 PST
Created
attachment 300458
[details]
it compiles!
Filip Pizlo
Comment 5
2017-02-03 16:32:50 PST
Created
attachment 300578
[details]
crashes after 1 GC
Filip Pizlo
Comment 6
2017-02-03 17:02:30 PST
Created
attachment 300581
[details]
restoring the "scan my own thread" part of ConservativeRoots Well that's an annoying refactoring to have to do. I think I'm almost done though. I mostly just reverted that part of the original "GC in thread" patch.
Filip Pizlo
Comment 7
2017-02-04 12:12:55 PST
Created
attachment 300635
[details]
it's so correct that it can run FIVE collections before crashing
Filip Pizlo
Comment 8
2017-02-04 18:45:39 PST
Created
attachment 300656
[details]
seems to work
Filip Pizlo
Comment 9
2017-02-04 21:52:39 PST
Created
attachment 300658
[details]
performs well and added tests for passing the conn It's a huge patch because it includes two version of splay.
Filip Pizlo
Comment 10
2017-02-06 11:25:30 PST
Created
attachment 300739
[details]
fix more bugs
Filip Pizlo
Comment 11
2017-02-06 17:00:51 PST
Created
attachment 300769
[details]
OMG it passes so many tests
WebKit Commit Bot
Comment 12
2017-02-06 17:03:49 PST
Attachment 300769
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/GCConningOfficer.h:40: The parameter name "officer" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1118: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1127: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1153: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1163: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 17 in 35 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 13
2017-02-06 20:04:43 PST
Perfect score!
Filip Pizlo
Comment 14
2017-02-06 20:10:18 PST
Created
attachment 300781
[details]
fix build a bit
WebKit Commit Bot
Comment 15
2017-02-06 20:11:51 PST
Attachment 300781
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/GCConningOfficer.h:40: The parameter name "officer" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1118: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1127: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1153: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1163: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 17 in 35 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 16
2017-02-06 20:16:58 PST
Created
attachment 300782
[details]
more fixes
Filip Pizlo
Comment 17
2017-02-06 20:18:38 PST
Created
attachment 300783
[details]
more Fixed some inline asm
WebKit Commit Bot
Comment 18
2017-02-06 20:20:03 PST
Attachment 300783
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/GCConningOfficer.h:40: The parameter name "officer" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1118: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1127: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1153: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1163: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 17 in 36 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 19
2017-02-06 21:03:32 PST
Created
attachment 300786
[details]
fix more build
WebKit Commit Bot
Comment 20
2017-02-06 21:05:34 PST
Attachment 300786
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/GCConningOfficer.h:40: The parameter name "officer" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1118: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1127: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1153: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1163: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 17 in 36 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 21
2017-02-10 16:44:52 PST
Created
attachment 301216
[details]
more
WebKit Commit Bot
Comment 22
2017-02-10 16:46:57 PST
Attachment 301216
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1118: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1127: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1153: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1163: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 18 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 23
2017-02-11 09:42:46 PST
Created
attachment 301261
[details]
fixed build again
Filip Pizlo
Comment 24
2017-02-11 14:40:33 PST
Created
attachment 301275
[details]
added more tests
WebKit Commit Bot
Comment 25
2017-02-11 14:50:28 PST
Attachment 301275
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1119: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1128: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1154: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1164: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 57 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 26
2017-02-11 15:35:53 PST
Comment on
attachment 301275
[details]
added more tests workers/bomb.html is crashing. I need to debug that some more.
Filip Pizlo
Comment 27
2017-02-11 15:42:16 PST
(In reply to
comment #26
)
> Comment on
attachment 301275
[details]
> added more tests > > workers/bomb.html is crashing. I need to debug that some more.
It seems to become a lot more stable when I switch to the old setjmp way of getting callee saves. But that doesn't seem to be enough to make it completely stable.
Build Bot
Comment 28
2017-02-11 16:10:09 PST
Comment on
attachment 301275
[details]
added more tests
Attachment 301275
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3070203
New failing tests: js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html workers/bomb.html
Build Bot
Comment 29
2017-02-11 16:10:14 PST
Created
attachment 301282
[details]
Archive of layout-test-results from ews124 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 30
2017-02-11 16:48:24 PST
Comment on
attachment 301275
[details]
added more tests
Attachment 301275
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.webkit.org/results/3070356
New failing tests: js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html workers/bomb.html
Build Bot
Comment 31
2017-02-11 16:48:30 PST
Created
attachment 301285
[details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Filip Pizlo
Comment 32
2017-02-12 08:27:44 PST
Created
attachment 301304
[details]
redid conservative scanning again It looks that we really need to setjmp to get the "register state". I'm guessing that there is something not register related that ends up in the jmp_buf. In any case, I found a way to ensure that we setjmp rarely enough that it doesn't matter that it's slow.
WebKit Commit Bot
Comment 33
2017-02-12 08:31:17 PST
Attachment 301304
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1139: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1148: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1174: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1184: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 13 in 59 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 34
2017-02-12 09:43:21 PST
(In reply to
comment #32
)
> Created
attachment 301304
[details]
> redid conservative scanning again > > It looks that we really need to setjmp to get the "register state". I'm > guessing that there is something not register related that ends up in the > jmp_buf. In any case, I found a way to ensure that we setjmp rarely enough > that it doesn't matter that it's slow.
Having "fixed" this, I'm getting the same crashes, even though I'm now using setjmp. But previously, when I hacked the last patch to use setjmp, I did not get crashes. Something weird is going on.
Build Bot
Comment 35
2017-02-12 09:48:53 PST
Comment on
attachment 301304
[details]
redid conservative scanning again
Attachment 301304
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.webkit.org/results/3073743
New failing tests: workers/bomb.html
Build Bot
Comment 36
2017-02-12 09:48:59 PST
Created
attachment 301308
[details]
Archive of layout-test-results from ews104 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 37
2017-02-12 09:57:54 PST
Comment on
attachment 301304
[details]
redid conservative scanning again
Attachment 301304
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/3073746
New failing tests: workers/bomb.html
Build Bot
Comment 38
2017-02-12 09:57:59 PST
Created
attachment 301309
[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Filip Pizlo
Comment 39
2017-02-12 10:59:55 PST
(In reply to
comment #34
)
> (In reply to
comment #32
) > > Created
attachment 301304
[details]
> > redid conservative scanning again > > > > It looks that we really need to setjmp to get the "register state". I'm > > guessing that there is something not register related that ends up in the > > jmp_buf. In any case, I found a way to ensure that we setjmp rarely enough > > that it doesn't matter that it's slow. > > Having "fixed" this, I'm getting the same crashes, even though I'm now using > setjmp. But previously, when I hacked the last patch to use setjmp, I did > not get crashes. > > Something weird is going on.
OK, it turns out that the setjmp thing was all a red herring. This was another example of getting super unlucky: every time I turned off my custom stack scan and switched to setjmp, the bug seemed to go away. In reality, the bug has a 1/2 chance of manifesting, and so sometimes you'll have a good streak. I had good streams exactly when I used setjmp. The real bug is that GC shutdown was not working right when the collector thread thread relinquished the conn. The GC would keep running as the VM deleted things, and then the GC would crash.
Filip Pizlo
Comment 40
2017-02-12 11:01:56 PST
Created
attachment 301311
[details]
more I think I fixed it.
WebKit Commit Bot
Comment 41
2017-02-12 11:03:51 PST
Attachment 301311
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1184: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1193: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1219: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1229: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 59 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 42
2017-02-12 12:35:18 PST
Created
attachment 301315
[details]
more Fixing things.
WebKit Commit Bot
Comment 43
2017-02-12 12:38:42 PST
Attachment 301315
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1184: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1193: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1219: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1229: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 59 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 44
2017-02-12 14:18:34 PST
Created
attachment 301317
[details]
the patch Fixed windows build issue.
WebKit Commit Bot
Comment 45
2017-02-12 14:20:31 PST
Attachment 301317
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1184: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1193: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1219: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1229: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 59 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 46
2017-02-12 15:42:11 PST
Comment on
attachment 301317
[details]
the patch View in context:
https://bugs.webkit.org/attachment.cgi?id=301317&action=review
Will continue to look when I'm at a computer.
> Source/JavaScriptCore/heap/Heap.cpp:1530 > + dataLog("Mutator already has the conn.\n");
Should be conditional
Build Bot
Comment 47
2017-02-12 15:55:54 PST
Comment on
attachment 301317
[details]
the patch
Attachment 301317
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/3074864
New failing tests: js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html
Build Bot
Comment 48
2017-02-12 15:56:02 PST
Created
attachment 301321
[details]
Archive of layout-test-results from ews116 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews116 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Filip Pizlo
Comment 49
2017-02-13 20:12:30 PST
(In reply to
comment #46
)
> Comment on
attachment 301317
[details]
> the patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=301317&action=review
> > Will continue to look when I'm at a computer. > > > Source/JavaScriptCore/heap/Heap.cpp:1530 > > + dataLog("Mutator already has the conn.\n"); > > Should be conditional
Ooops! I just removed it.
Filip Pizlo
Comment 50
2017-02-13 20:13:58 PST
Created
attachment 301441
[details]
the patch
WebKit Commit Bot
Comment 51
2017-02-13 20:16:22 PST
Attachment 301441
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1184: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1193: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1219: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1229: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 60 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 52
2017-02-14 09:25:09 PST
Whoa it passed tests. That's something.
Filip Pizlo
Comment 53
2017-02-14 11:37:13 PST
Comment on
attachment 301441
[details]
the patch This seems to regress performance on low-core-count machines. I must have goofed something up.
Filip Pizlo
Comment 54
2017-02-14 11:47:09 PST
It might be something like this: performIncrement immediately steals everything from the global mark stack, which prevents the parallel draining thread from doing its thing. I bet we need to throttle performIncrement so that it never steals the whole shared stack if there are parallel markers.
Filip Pizlo
Comment 55
2017-02-14 14:19:49 PST
(In reply to
comment #54
)
> It might be something like this: performIncrement immediately steals > everything from the global mark stack, which prevents the parallel draining > thread from doing its thing. > > I bet we need to throttle performIncrement so that it never steals the whole > shared stack if there are parallel markers.
I found some weird stuff, but overall, it seems more iOS-specific than core-count-specific. I'm still investigating.
Filip Pizlo
Comment 56
2017-02-14 14:48:24 PST
(In reply to
comment #55
)
> (In reply to
comment #54
) > > It might be something like this: performIncrement immediately steals > > everything from the global mark stack, which prevents the parallel draining > > thread from doing its thing. > > > > I bet we need to throttle performIncrement so that it never steals the whole > > shared stack if there are parallel markers. > > I found some weird stuff, but overall, it seems more iOS-specific than > core-count-specific. I'm still investigating.
Well, it now looks like I was being lied to all along. The slow-down on iOS was also a fluke. I made a bad build somehow. But in the meantime I figured out a way to tune the collector on iOS that results in a further speed-up. Prior to this patch, the old non-stochastic space-time scheduler had a bad time because of timing jitter that resulted from the collector thread and mutator thread handing off to each other. But this patch removes the hand-off: the mutator thread gets to always run. It turns out that removing the incremental mode (gcIncrementScale=0) and disabling the stochastic scheduler is a win on 2-core configurations. It's a win on iOS and on Mac. I'll keep experimenting.
Filip Pizlo
Comment 57
2017-02-14 14:50:14 PST
Created
attachment 301550
[details]
more Did more iOS fixing and tuning. I still have more work to do.
Filip Pizlo
Comment 58
2017-02-14 14:53:35 PST
Created
attachment 301551
[details]
patch from other computer
Filip Pizlo
Comment 59
2017-02-14 16:05:30 PST
Created
attachment 301562
[details]
the patch
WebKit Commit Bot
Comment 60
2017-02-14 16:08:31 PST
Attachment 301562
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1218: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1244: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1254: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 20 in 61 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 61
2017-02-14 18:28:22 PST
Comment on
attachment 301562
[details]
the patch
Attachment 301562
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/3118955
New failing tests: js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html
Build Bot
Comment 62
2017-02-14 18:28:28 PST
Created
attachment 301571
[details]
Archive of layout-test-results from ews115 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Filip Pizlo
Comment 63
2017-02-16 10:21:10 PST
(In reply to
comment #61
)
> Comment on
attachment 301562
[details]
> the patch > >
Attachment 301562
[details]
did not pass mac-debug-ews (mac): > Output:
http://webkit-queues.webkit.org/results/3118955
> > New failing tests: > js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html
I'm investigating whether this is an actual deadlock, or if it's just that the test takes too long. Could easily be the latter. I'll shorten the test.
Filip Pizlo
Comment 64
2017-02-16 10:24:11 PST
Created
attachment 301781
[details]
the patch Fixing that silly test.
WebKit Commit Bot
Comment 65
2017-02-16 10:26:39 PST
Attachment 301781
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1218: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1244: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1254: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 20 in 61 files If any of these errors are false positives, please file a bug against check-webkit-style.
Keith Miller
Comment 66
2017-02-16 11:33:25 PST
Comment on
attachment 301781
[details]
the patch r=me.
Filip Pizlo
Comment 67
2017-02-16 13:15:46 PST
Doing one more little round of testing and then I'll land.
Filip Pizlo
Comment 68
2017-02-16 13:18:58 PST
Created
attachment 301808
[details]
patch for landing
WebKit Commit Bot
Comment 69
2017-02-16 13:22:02 PST
Attachment 301808
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:947: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1218: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1244: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1254: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 61 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 70
2017-02-16 13:42:42 PST
***
Bug 166827
has been marked as a duplicate of this bug. ***
Filip Pizlo
Comment 71
2017-02-16 14:31:58 PST
Mac EWS sees a red tree, but I think I can land anyway because this patch has been through EWS a bunch of times already.
Filip Pizlo
Comment 72
2017-02-16 14:36:02 PST
Landed in
https://trac.webkit.org/changeset/212466
Csaba Osztrogonác
Comment 73
2017-02-17 02:30:44 PST
(In reply to
comment #72
)
> Landed in
https://trac.webkit.org/changeset/212466
FYI, it made 1000 JSC tests crash on AArch64, see
bug168502
for details.
Ryan Haddad
Comment 74
2017-02-17 16:57:20 PST
The LayoutTest for this change is frequently timing out on Sierra:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#tests=js%2Fdom%2Fgc-slot-visitor-parallel-drain-pings-runloop-when-done.html
WebKit Commit Bot
Comment 75
2017-02-19 14:06:32 PST
Re-opened since this is blocked by
bug 168577
Filip Pizlo
Comment 76
2017-02-19 17:29:54 PST
Created
attachment 302100
[details]
patch for relanding
Filip Pizlo
Comment 77
2017-02-19 17:36:15 PST
Created
attachment 302101
[details]
better patch for relanding Readded changelogs, removed that silly GC runloop LayoutTest.
WebKit Commit Bot
Comment 78
2017-02-19 20:01:13 PST
Attachment 302101
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:946: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1217: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1243: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1253: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 54 files If any of these errors are false positives, please file a bug against check-webkit-style.
Ryosuke Niwa
Comment 79
2017-02-19 22:36:32 PST
Rolled out the Cloop build fix in
https://trac.webkit.org/changeset/212624
as CLoop builders can't build WebKit with it.
Filip Pizlo
Comment 80
2017-02-20 13:52:16 PST
Created
attachment 302170
[details]
more
WebKit Commit Bot
Comment 81
2017-02-20 13:57:34 PST
Attachment 302170
[details]
did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/heap/RunningScope.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/JavaScriptCore/heap/CollectorPhase.h:64: The parameter name "phase" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/WTF/wtf/ParallelHelperPool.cpp:98: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/IncrementalSweeper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/CommonVM.cpp:33: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WebCore/ForwardingHeaders/heap/MachineStackMarker.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCFinalizationCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WTF/wtf/NumberOfCores.cpp:53: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/WTF/wtf/ParallelHelperPool.h:172: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:48: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:66: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:88: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: Extra space before ( in function call [whitespace/parens] [4] ERROR: Source/JavaScriptCore/heap/RegisterState.h:115: The parameter name """" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/heap/Heap.cpp:946: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1217: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1243: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/heap/Heap.cpp:1253: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 21 in 54 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 82
2017-02-21 17:00:57 PST
Relanded in
https://trac.webkit.org/changeset/212778
. The problem with the previous patch was bad use of RAII scope.
Alexey Proskuryakov
Comment 83
2017-03-18 00:27:53 PDT
The fix was re-landed without a test (js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html). Filip, is that expected?
Filip Pizlo
Comment 84
2017-03-18 07:54:50 PDT
(In reply to
comment #83
)
> The fix was re-landed without a test > (js/dom/gc-slot-visitor-parallel-drain-pings-runloop-when-done.html). Filip, > is that expected?
Yes. That test was not very valuable. And it was flaky, and needed a bunch of new infrastructure. But if the thing it was testing regressed, we would have a perf and memory regression and we would catch it anyway.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug