Commit Graph

172 Commits

Author SHA1 Message Date
Jon Coppeard
c811ddba77 Bug 1396156 - Fix unused private field error when building AutoAssertNoGC as Beta. r=sfink 2017-09-04 02:25:00 -04:00
Olli Pettay
2e8b602108 Bug 1377131 - Try to trigger collector slices at times which disturb page js less (at least with iframes loaded after the top level page has been loaded), r=mccr8,bz
When triggering an iframe load or starting to parse a document for an iframe, the main thread may often have some time before the new page has been created. Try to trigger CC/GC slice at such point in order to avoid collector later when page is already executing its JS

--HG--
extra : rebase_source : 806df0af1dbaefb1761134eca0bb7c6ade6ac1a9
2017-09-06 18:18:11 +01:00
Jon Coppeard
47659f1db3 Bug 1384513 - Remove AutoAssertNoAlloc r=sfink 2017-09-01 10:13:51 +01:00
Till Schneidereit
fb21cc09de Bug 1384513 - Change all public APIs to take JS::AutoRequireNoGC instead of JS::AutoCheckCannotGC. r=jonco
Additionally, change the base class of AutoSuppressGCAnalysis from AutoAssertNoAlloc to AutoAssertNoGC.

In combination, these chances enable passing either JS::AutoCheckCannotGC or JS::AutoSuppressGCAnalysis, depending on whether suppressing the GC analysis is desired or not.

MozReview-Commit-ID: Eg1cl28ezeJ
* * *
Bug 1384513 - Follow-up to fix bustage from template usage of functions with a changed signature, on a CLOSED TREE. r=bustage

MozReview-Commit-ID: 5SsI4DoDwAT
2017-07-26 12:20:59 +02:00
Jan de Mooij
5a92797b27 Backed out changeset 000f28217a30 (bug 1384513) for perf regressions.
--HG--
extra : rebase_source : 290b02b2d088e4575bff1f2dd88808a7ebd51250
2017-08-01 10:42:04 +02:00
Till Schneidereit
128de681e1 Bug 1384513 - Change all public APIs to take JS::AutoRequireNoGC instead of JS::AutoCheckCannotGC. r=jonco
Additionally, change the base class of AutoSuppressGCAnalysis from AutoAssertNoAlloc to AutoAssertNoGC.

In combination, these chances enable passing either JS::AutoCheckCannotGC or JS::AutoSuppressGCAnalysis, depending on whether suppressing the GC analysis is desired or not.

MozReview-Commit-ID: Eg1cl28ezeJ
2017-07-26 14:38:29 +02:00
Jon Coppeard
27b31261f4 Bug 1374797 - Fix logic around triggering atoms GCs r=sfink 2017-07-25 11:28:41 +01:00
Jon Coppeard
29c8ebe8bc Bug 1380778 - Fixup shape pointers into the nursery using a dedicated list r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard
86b6f119b2 Bug 1381058 - Split full store buffer reasons into a separate reason for each store buffer r=sfink 2017-07-17 10:54:12 +01:00
Jon Coppeard
3b4db1432d Bug 1377466 - Rename PokeGC and add a reason code for GCs triggered by this r=sfink 2017-07-11 17:17:17 +01:00
Jan de Mooij
cb47875d1b Bug 1368325 - Remove JSContext::allowGCBarriers and related code as it's not used anywhere. r=billm 2017-06-16 10:40:57 +02:00
Nicolas B. Pierron
0727a6547f Bug 1364120 - Remove FINISH_LARGE_EVALUATE gc. r=jonco 2017-05-24 18:14:31 +00:00
Steve Fink
2c8f69a305 Bug 1364547 - Tell Gecko whether a slice is a final slice, r=jonco,mccr8
--HG--
extra : rebase_source : ea028988b3515cdc441af8f7c2c1ba0794482494
2017-05-12 16:46:43 -07:00
Steve Fink
51871e1507 Bug 1364547 - Call the slice end callback for every slice, r=jonco
Currently, the final slice of an incremental GC only gets a GC_CYCLE_END callback, not a GC_SLICE_END callback. So if you are doing anything that expects to see all of the slices, you will be missing one.

Simplify the setup so that every GC is bracketed with CYCLE_BEGIN/END, and every slice is bracketed with SLICE_BEGIN/END, treating a nonincremental as a GC with a single slice (which it is for everything else.)

--HG--
extra : rebase_source : 8e21300819d517b3e35de14930f53b3ab737a44e
2017-05-15 08:06:24 -07:00
Steve Fink
7ef280069e Bug 1322560 - Record minor GC timings in profiles, r=jonco, mccr8, mstange
--HG--
extra : rebase_source : 073eceb4216b0505f8cbce0947e3e5091626ead1
2017-04-25 13:24:34 -07:00
Steve Fink
350af64f4a Bug 1322560 - Add APIs for retrieving major GC timing info, r=jonco
--HG--
extra : rebase_source : 9a038e2b7ea4c0d6242eed9ab6d753e590619bdb
extra : source : 4dee851a0d45655260ace1c01eb4dd9e9905942f
2017-05-02 15:45:43 -07:00
Bill McCloskey
ee9f642133 Bug 1359245 - Remove CycleCollectedJSRuntime::mJSContext (r=mccr8,sfink)
This patch eliminates a field where we assume that there is one
CycleCollectedJSContext per runtime.

MozReview-Commit-ID: 5cEL5Ml6Y9v
2017-04-27 15:34:46 -07:00
Jon Coppeard
eb3c9870bf Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink
* * *
Code review followup

--HG--
extra : rebase_source : 10c1fd603c2dd1ac2ff5770ae9aec2e9131681ce
2017-04-26 11:18:39 +01:00
Jan de Mooij
9a36b7a7b6 Bug 1359077 - Optimize a few things in ExposeGCThingToActiveJS. r=jonco
--HG--
extra : rebase_source : 7cecd6b2bed61e35c187effb47a94b236697bd86
2017-04-25 15:07:55 +02:00
Jon Coppeard
d7e0c83dcc Bug 1359001 - Make AutoAssertGCCallback a no-op in opt builds r=sfink 2017-04-25 10:56:34 +01:00
Jon Coppeard
1797b2399a Bug 1355065 - Remove unused read barrier API r=jandem 2017-04-12 09:58:47 +01:00
Jon Coppeard
46c6dced28 Bug 1338614 - Refactor incremental barrier APIs and make them call the read barrier r=sfink 2017-02-13 11:11:09 +00:00
Brian Hackett
539e47cd96 Bug 1337117 - Remove references to main thread in the JS engine, r=jandem.
--HG--
extra : rebase_source : 466336ed48fb8636d1ef428195408411ed81473d
2017-02-11 05:27:32 -07:00
Jon Coppeard
942694dd48 Bug 1322420 - Expose cells found via iteration r=sfink a=abillings 2017-02-10 10:22:38 +00:00
Brian Hackett
db7742c7f9 Bug 1325050 - Structure reorganization for multithreaded runtimes, r=jandem,jonco,h4writer,luke,lhansen,nbp.
--HG--
extra : rebase_source : 53c8fbae972fbf2f5e9428ce4d2965c8f86e942d
2017-02-02 12:12:43 -07:00
Bill McCloskey
fbf4345dc9 Back out bug 1308039 - GC interrupt callbacks (a=backout)
This reverts commit 1fc1a2e080a1d9012f0ad651243766540daf139f.

MozReview-Commit-ID: BvHIIj1t3M8
2017-01-11 13:19:58 -08:00
Jon Coppeard
78644b3683 Bug 1323241 - Only report things as gray if gray marking state is valid r=sfink 2017-01-06 11:23:21 +00:00
Steve Fink
17d54944b0 Bug 1173354 - Switch GC statistics over to TimeStamp/TimeDuration, r=jonco
--HG--
extra : rebase_source : 6575a93731d2a26ca9b78c25a3dfa2aded5a108d
extra : histedit_source : df4b193445638710537524f4ddd8ac5cc183cb6b
2016-12-22 13:43:42 -08:00
Jon Coppeard
99aa8489c8 Bug 1313098 - Assert we only access heap state on the main thread r=sfink r=mccr8 2016-11-04 17:32:36 +00:00
Jon Coppeard
435bdeeaec Bug 1310147 - Remove AutoAssertNoAlloc and replace with AutoAssertNoGC r=sfink 2016-10-27 11:03:53 +01:00
Jon Coppeard
4f90a79a0c Bug 1310147 - Rename AutoAssertOnGC to AutoAssertNoGC r=sfink 2016-10-27 11:03:53 +01:00
Bill McCloskey
387c3c0e70 Bug 1308039 - GC interrupt callbacks (r=jonco) 2016-10-10 18:06:17 -07:00
Bill McCloskey
da1e178940 Bug 1308039 - Add AutoAssertOnBarrier (r=jonco) 2016-10-10 18:06:16 -07:00
Bill McCloskey
a9f9cf1ed6 Bug 1308039 - Convert AutoAssertOnGC to release assertion (r=jonco) 2016-10-10 18:06:15 -07:00
Jon Coppeard
591ec11f61 Bug 1305236 - Don't call ExposeObjectToActiveJS on null pointer r=smaug 2016-09-29 10:18:50 +01:00
Terrence Cole
dea2d7e2f4 Bug 1296484 - Automatically run a CC if COMPARTMENT_REVIVED GC ends mostly gray; r=jonco,r=mccr8
--HG--
extra : rebase_source : 94482f4c09e640ca9e0436316c992457dd5b9f61
2016-08-18 13:30:32 -07:00
Wes Kocher
00bdbfd6e2 Backed out changeset bbd6bdd463b1 (bug 1296484) for asan leaks in XPCJSRuntime a=backout 2016-08-25 17:25:00 -07:00
Terrence Cole
1432ea6638 Bug 1296484 - Automatically run a CC if COMPARTMENT_REVIVED GC ends mostly gray; r=jonco,r=mccr8
--HG--
extra : rebase_source : 26aa07342c0b286d772422401bd7d5dd4efbb2fa
2016-08-18 13:30:32 -07:00
Jon Coppeard
a30843aba8 Bug 1297026 - Replace outdated references to 'compartment GC' with 'zone GC' r=terrence 2016-08-25 12:00:56 +01:00
Phil Ringnalda
b25ad4c181 Back out changeset bba47d5c2583 (bug 1296484) for isNurseryAllocAllowed() assertion failures in devtools tests
CLOSED TREE
2016-08-23 22:37:03 -07:00
Terrence Cole
d00af19508 Bug 1296484 - Automatically CycleCollect if COMPARTMENT_REVIVED GC ends mostly gray; r=mccr8,r=jonco
--HG--
extra : rebase_source : d8df564fb782c4d8cfa4a5b153e5cda00e6343a2
2016-08-18 13:30:32 -07:00
Jon Coppeard
187d91a66e Bug 1296639 - Remove SpiderMonkey's periodic full GC r=sfink 2016-08-22 11:14:24 +01:00
Sebastian Hengst
55ccc927a5 Backed out changeset 325bdb8f8f80 (bug 1110928) 2016-08-21 12:27:51 +02:00
Andrew McCreight
0e61ad42e5 Bug 1110928, part 3 - Add a method to schedule the system zone for GC. r=terrence
MozReview-Commit-ID: 4L3iQMPWGNe
2016-08-19 15:26:56 -07:00
Jan de Mooij
e0ae8a8c5a Bug 1286795 part 5 - Change some classes to take JSContext instead of JSRuntime. r=terrence 2016-07-23 19:53:03 +02:00
Jan de Mooij
fd0edec3bf Bug 1286795 part 4 - Change some callbacks to take JSContext instead of JSRuntime. r=terrence 2016-07-23 19:52:47 +02:00
Terrence Cole
7cf17460c7 Bug 1251463 - Remove ShrinkGCBuffers; r=jonco,r=mccr8
--HG--
extra : rebase_source : e185ec4d3a043bb7227fdc0a296a14811741cf17
2016-02-25 15:52:59 -08:00
Jan de Mooij
900af968f3 Bug 1283855 part 28 - Make more GC APIs take JSContext instead of JSRuntime. r=terrence
--HG--
extra : rebase_source : c2d35b5d45cad074b9a9a144bc25ea4a32b8b246
2016-07-07 09:56:09 +02:00
Jan de Mooij
7ec38687c8 Bug 1283855 part 27 - Make more GC APIs take JSContext instead of JSRuntime. r=jonco
--HG--
extra : rebase_source : b666bd88d0247b58f7311f81e5116199779cc806
2016-07-07 09:55:45 +02:00
Jan de Mooij
1ffe7cc891 Bug 1283855 part 26 - Make more GC APIs take JSContext instead of JSRuntime. r=terrence,mccr8
--HG--
extra : rebase_source : 68e6c63b179094f2441f01df58e0bdd68620ed09
2016-07-07 09:55:41 +02:00