RESOLVED FIXED 164788
It should be possible to disable concurrent GC timeslicing
https://bugs.webkit.org/show_bug.cgi?id=164788
Summary It should be possible to disable concurrent GC timeslicing
Filip Pizlo
Reported 2016-11-15 13:47:00 PST
This will be an excellent testing configuration since it maximizes the chances of race conditions causing things to go terribly wrong.
Attachments
the patch (6.01 KB, patch)
2016-11-15 13:52 PST, Filip Pizlo
saam: review+
Filip Pizlo
Comment 1 2016-11-15 13:52:42 PST
Created attachment 294875 [details] the patch
Saam Barati
Comment 2 2016-11-15 13:55:24 PST
Comment on attachment 294875 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=294875&action=review r=me > Source/JavaScriptCore/ChangeLog:18 > + The idea is that we will usually use this in conjunction with collectContinuously=true Is it worth just setting useCollectorTimeslicing=false when collectContinuously=true inside the compute dependent options function? > Source/JavaScriptCore/heap/Heap.cpp:686 > + // Disabling collector timeslicing is meant to be used together with > + // --collectContinuously=true to maximize the opportunity for harmful races. Might be worth mentioning this in the options file. > Source/JavaScriptCore/runtime/Options.h:197 > + v(bool, useCollectorTimeslicing, true, Normal, nullptr) \ It's probably worth adding a description here.
Filip Pizlo
Comment 3 2016-11-15 13:58:13 PST
(In reply to comment #2) > Comment on attachment 294875 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=294875&action=review > > r=me > > > Source/JavaScriptCore/ChangeLog:18 > > + The idea is that we will usually use this in conjunction with collectContinuously=true > > Is it worth just setting useCollectorTimeslicing=false when > collectContinuously=true inside the compute dependent options function? No, because I want to be able to test continuous collection with collector timeslicing. That will shake out races in the stop-resume code. > > > Source/JavaScriptCore/heap/Heap.cpp:686 > > + // Disabling collector timeslicing is meant to be used together with > > + // --collectContinuously=true to maximize the opportunity for harmful races. > > Might be worth mentioning this in the options file. > > > Source/JavaScriptCore/runtime/Options.h:197 > > + v(bool, useCollectorTimeslicing, true, Normal, nullptr) \ > > It's probably worth adding a description here. Can you think of anything more clever than "use collector timeslicing"?
Filip Pizlo
Comment 4 2016-11-15 14:02:22 PST
Note You need to log in before you can comment on or make changes to this bug.