Commit Graph

1149 Commits

Author SHA1 Message Date
Sebastian Hengst
53f395db6a Backed out changeset 38722eed8c8a (bug 1355746)
MozReview-Commit-ID: 1HcpK10x0V4
2017-06-21 19:49:04 +02:00
Henry Chang
03c7b1fd9e Bug 1355746 - Part 2. Polish IdleTaskRunner and reuse it for background parsing. r=smaug
This patch is mainly to make IdleTaskRunner reusable by nsHtml5TreeOpExecutor.
The only necessary work to that purpose is to remove the dependency of
sShuttingDown, which was a static variable in nsJSEnvironment.cpp.
The idea is to have a "ShouldCancel" as a callback for the consumer to
return sShuttingDown.

In addition to sShuttingDown, we use std::function<bool()> as the runner
main callback type.

MozReview-Commit-ID: FT2X1unSvPS
2017-06-15 15:51:29 +08:00
Henry Chang
333d8fa7e8 Bug 1355746 - Part 1. Rename CollectRunner to IdleTaskRunner and move to xpcom/threads/IdleTaskRunner.h/cpp r=smaug
Nothing is changed in this patch except for renaming and code move around.
The strategy is to have the final file setup in this patch without any
detail change. The actual code change will be in the next patch so that
we can focus on reviewing the diff in the next patch regarding IdleTaskRunner.

MozReview-Commit-ID: 4Bul9mZ7z1n
2017-06-15 14:47:56 +08:00
Olli Pettay
3a8775ea48 bug 1373583, initialize sActiveIntersliceGCBudget by default to non-zero value, r=jonco 2017-06-16 19:11:34 +03:00
Olli Pettay
b165e5424b Bug 1373651 - Ensure we don't report too large GC-during-idle values, r=mccr8 2017-06-16 17:45:15 +03:00
Olli Pettay
2bc024a16d Bug 1373067 - Ensure CC isn't started too often, r=mccr8 2017-06-15 19:44:32 +03:00
Olli Pettay
0b23a24eab Bug 1372042 - Add telemetry about running collectors during idle time, r=mccr8 2017-06-14 23:41:22 +03:00
Nicholas Nethercote
9ae0762bf5 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.
2017-06-07 12:33:19 +10:00
Bill McCloskey
52cf5494d0 Bug 1371116 - Remove nsJSEnvironment::sContext (r=mccr8)
MozReview-Commit-ID: ETtzht971fI
2017-06-12 20:21:43 -07:00
Bill McCloskey
284c3f3132 Bug 1365097 - Convert NS_GetCurrentThread uses in dom (except for dom/media) (r=smaug)
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.

MozReview-Commit-ID: 5FgvpKadUA2
2017-06-12 20:20:08 -07:00
Olli Pettay
178574c05c Bug 1371224 - Add markers for forgetSkippable and CC slices, r=mccr8,mstange 2017-06-10 03:16:25 +03:00
Olli Pettay
02debe4d3f Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, tweaks to keep reftest memory usage lower, r=mccr8 2017-06-10 02:41:06 +03:00
Olli Pettay
c08aeee071 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8 2017-06-10 02:38:50 +03:00
Wes Kocher
d94d0e78b3 Backed out 2 changesets (bug 1367905) for a spike in Windows reftest failures a=backout
Backed out changeset c5aaa3f7b79e (bug 1367905)
Backed out changeset 1c66da2b1e88 (bug 1367905)

MozReview-Commit-ID: IX632WoWHrO
2017-06-08 16:09:28 -07:00
Olli Pettay
01a6a06f80 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8 2017-06-07 23:46:31 +03:00
Carsten "Tomcat" Book
4960a7d0ca Backed out changeset ff33e6c6f6a5 (bug 1367905) for memory leaks 2017-06-07 15:13:37 +02:00
Olli Pettay
e0c64e438d Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8 2017-06-06 20:41:34 +03:00
Andreas Farre
12dc5f5c90 Bug 1311425 - Avoid GC/CC timers when scheduling idle, r=smaug 2017-05-24 21:15:30 -04:00
Steve Fink
4eb2cc482d Bug 1364547 - Tell Gecko whether a slice is a final slice, r=jonco,mccr8 2017-05-12 16:46:43 -07:00
Jonathan Watt
bea80fc0b6 Bug 1362891, part 2 - Make use of XRE_IsE10sParentProcess in code that could use it. r=froydnj
MozReview-Commit-ID: 81PFEgNH37m
2017-04-24 10:40:12 +01:00
Andrea Marchesini
80bc31371c Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book
c4daf63d34 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla' 2017-05-08 09:54:38 +02:00
Andrea Marchesini
71aba8e0ee Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader
2017-05-08 08:24:22 +02:00
Michael Layzell
e61c3d3240 Bug 1353440 - Annotate background hang reports which occur while the user is interacting with the browser, r=ehsan
MozReview-Commit-ID: CSO0K5wiK5H
2017-05-05 15:21:48 -04:00
Andrew McCreight
26511c8b14 Bug 1304205 - Increase slice time for longer running CCs. r=smaug
If a CC takes too long (around 50 slices) or gets interrupted by a GC,
we have to finish it synchronously, which can cause a big pause. This
patch tries to avoid that by eagerly increasing the slice budget the
longer a CC goes on. It linearly increases the slice time from 5ms to
40ms as we approach the halfway point of a CC (1 second), matching GC
pauses, and then leaves it at 40ms.

MozReview-Commit-ID: 8TKZ0ZuxsUA
2017-04-28 10:14:22 -07:00
Bill McCloskey
1a26f8b6f4 Bug 1359245 - Remove references to context from the cycle collector (r=mccr8)
MozReview-Commit-ID: 1QoNEiZMvBf
2017-04-27 15:34:46 -07:00
Markus Stange
7dc30cc736 Bug 1339897 - Rename PROFILER_LABEL_PRINTF to PROFILER_LABEL_DYNAMIC and make it really cheap. r=Ehsan,njn
Instead of copying and concatenating strings into an mDest buffer in
SamplerStackFramePrintfRAII, require callers to keep the string buffer alive
for the duration of the current scope, and store the pointer to the annotation
string in the ProfileEntry. During stackwalking, concatenate the label and the
annotation (separated by a space) and store the resulting string in the
profile buffer.

MozReview-Commit-ID: GEjcLrhhdvb
2017-03-22 19:37:33 -04:00
David Major
7c0497b430 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
Iris Hsiao
22d2818760 Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
David Major
a660713d2b Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
2017-03-14 15:26:27 +13:00
JerryShih
5c810a135a Bug 1270056 - skip the GC in nsGlobalWindow::SetNewDocument() r=smaug 2017-03-06 17:47:27 +00:00
Jan Varga
2e688f6e8b Bug 1311057 - Part 1: Remove support for packaged apps from asmjscache; r=luke 2017-03-06 18:38:40 +01:00
David Major
0ec3ba1cf8 Bug 1339968 - Remove NS_MULTILINE_LITERAL_STRING. r=froydnj 2017-02-17 15:24:11 +13:00
Bill McCloskey
0930faba60 Bug 1337575 - Use SystemGroup for GC/CC (r=mccr8)
MozReview-Commit-ID: 9vLuFnuHS9U
2017-02-13 17:02:59 -08:00
956ba92b51 Bug 1338518, add missing {}, r=smaug 2017-02-12 18:40:09 +02:00
Olli Pettay
a23f5a263e Bug 1338518, make parent process to use 10ms gc slices when user is active, r=jonco 2017-02-11 14:01:26 +02:00
Olli Pettay
f0e23e3e45 Bug 1334432 - Improve GC/CC logging in multi-e10s, r=bustage, CLOSED TREE 2017-02-03 00:11:00 +02:00
Olli Pettay
5fbc340a5f Bug 1334432 - Improve GC/CC logging in multi-e10s, r=bustage, CLOSED TREE 2017-02-03 00:07:07 +02:00
Olli Pettay
f85fc6c4c1 Bug 1334432 - Improve GC/CC logging in multi-e10s, r=mccr8 2017-02-02 23:32:17 +02:00
Olli Pettay
c5b320b1c4 Bug 1110928, first request GC should be a full GC, r=jonco 2017-02-01 23:55:38 +02:00
a4d85ed9fb Bug 1110928, part 4 - Try to pass a relevant zone to PokeGC. r=smaug 2017-01-23 19:22:26 +02:00
Andrew McCreight
9b8a0478d7 Bug 1110928, part 1 - Hoist the LOAD_END PokeGC out of nsJSContext::LoadEnd. r=smaug
nsDocumentViewer knows which document is involved which will help us later.

Also, fix a typo in the comment.
2017-01-23 19:20:54 +02:00
Nathan Froyd
a580d69d1f Bug 1329718 - remove nsISupportsVoid and associated machinery; r=erahm
Nothing uses it, it's virtually impossible to use from script, and there
are better ways to pass a |void*| around in C++.
2017-01-10 16:31:48 -05:00
Olli Pettay
3898f7d882 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8 2017-01-03 21:47:55 +02:00
Bill McCloskey
f4b80cc3ab Bug 1308040 - Notify JSON if extended telemetry enabled (r=jonco,gfritzsche) 2016-10-31 14:01:46 -07:00
Jon Coppeard
863d796e4b Bug 1297558 - Remove explicit calls to Expose*ToActiveJS r=mccr8 2016-10-18 17:58:19 +01:00
Jan de Mooij
b402a91ead Bug 1302448 part 1 - Rename CycleCollectedJSRuntime to CycleCollectedJSContext. r=mccr8 2016-09-14 15:47:32 +02:00
Olli Pettay
2d8d5268a8 Bug 1297367 - Call iCC slice and forgetSkippable right after paint, r=mccr8 2016-09-12 14:00:15 -07:00
Olli Pettay
afa67bb641 backout Bug 1297367 because of tart regression, r=backout 2016-09-13 08:47:20 -07:00
Olli Pettay
6454577467 Bug 1297367 - Call iCC slice and forgetSkippable right after paint, r=mccr8 2016-09-12 14:00:15 -07:00