Граф коммитов

1116 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd 9022a3b519 Bug 1384687 - label NotifyGCEndRunnable; r=billm
All the other timers and GC-related things in this file run on the
system group, so this one can too.
2017-07-27 13:32:15 -04:00
Olli Pettay 866053df7a Bug 1384215 - Try to run deferred deletion more likely during idle time, r=mccr8
--HG--
extra : rebase_source : 0dd6ec9641e323959a454d812a9d2f15b1d02982
2017-07-25 22:22:12 +03:00
Paul Bone 70b304d94b Bug 1380768 (part 2) - Add a pref for nursery size, r=sfink. 2017-07-21 14:34:46 +10:00
Ryan VanderMeulen d229288071 Merge m-c to autoland. a=merge
CLOSED TREE

--HG--
extra : amend_source : 2ab51304cc7df444f22c3aac001a1aba61faee3a
2017-07-21 09:42:41 -04:00
Andrew McCreight c77f1723be Bug 1381921, part 2 - Remove nsAXPCNativeCallContext. r=mrbkap
This class is no longer used.

MozReview-Commit-ID: Lv9AAd3OjIl

--HG--
extra : rebase_source : b37abc2c70a2a08b176d0504163c246b6ff3b8cf
2017-07-18 10:42:47 -07:00
Bevis Tseng 0e0d191a7b Bug 1378970 - Part 2: Label CollectorRunner::mTimer using SystemGroup. r=billm
MozReview-Commit-ID: LfCjWyKk4hR
2017-07-18 16:49:43 +08:00
Nathan Froyd 0291d8eaa0 Bug 1378970 - Part 1: Label CollectorRunner::mScheduleTimer using SystemGroup. r=billm
All other associated timers in this file use the SystemGroup for a
GarbageCollection task, and this one should too.

MozReview-Commit-ID: GjdAGxbZS03
2017-07-06 13:25:00 +08:00
Andrew McCreight 7d840ff35e Bug 1379786, part 3 - Remove sSecurityManager from nsJSEnvironment.cpp. r=mrbkap
MozReview-Commit-ID: G04P7k1Dxki

--HG--
extra : rebase_source : c8f0617ca4d89c8300ed12d89e7f02dd55a26e24
2017-07-10 14:17:24 -07:00
Carsten "Tomcat" Book 8e3fa527c9 merge mozilla-inbound to mozilla-central a=merge 2017-07-04 10:48:33 +02:00
Bill McCloskey 224d56eb18 Bug 1377222 - Eliminate nsITimer::InitWithFuncCallback in favor of InitWithNamedFuncCallback (r=froydnj)
MozReview-Commit-ID: 9zN9aAd7daA
2017-07-03 16:19:56 -07:00
Nicholas Nethercote 3e439bb4f8 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.

--HG--
extra : rebase_source : 0f781bca68b5bf3c4c191e09e277dfc8becffa09
2017-06-30 19:05:41 -07:00
Olli Pettay 15af1ecf7d Bug 1376614 - Pass budget to forgetSkippable and return early when budget has been used, r=mccr8 2017-06-30 13:44:59 +03:00
Andrew McCreight 2f8c208b53 Bug 1018394 - Remove unused functionality to do extra forget skippable calls before a CC. r=smaug
We never actually use this, and it causes assertions with fuzzing, so
just delete it.

MozReview-Commit-ID: 595M09mD0K2

--HG--
extra : rebase_source : 7fdcbeaa6db0c92b5818eae48624f0c74e660505
2017-07-03 12:53:54 -07:00
Olli Pettay 0e561a84cf Bug 1371242, try to run CC slices more likely during idle periods, r=mccr8
--HG--
extra : rebase_source : 9727cb14deafe3b92139646074ea201126579c1f
2017-06-28 22:38:53 +03:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Sebastian Hengst 17c1285d32 Backed out changeset 733c828d5ba3 (bug 1355746) for frequently failing mochitest dom/html/test/test_fullscreen-api.html and devtools' browser_service_workers_multi_content_process.js, both on Linux. r=backout a=backout
MozReview-Commit-ID: 7VDiCD8uwOy
2017-06-21 19:51:13 +02:00
Sebastian Hengst b2f7adcc7d Backed out changeset 38722eed8c8a (bug 1355746)
MozReview-Commit-ID: 1HcpK10x0V4
2017-06-21 19:49:04 +02:00
Henry Chang a221ac674f 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

--HG--
extra : rebase_source : cfd99aba19f014327875683f5ea85d183c8af674
extra : intermediate-source : 99af874c7b1d278057194894d406474b8af07349
extra : source : 792359c898f68241e1373820ea8fd3ba18b09994
2017-06-15 15:51:29 +08:00
Henry Chang e13aeee5fd 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

--HG--
extra : rebase_source : 21d7d601c70304d69100d96cecfdb3e0322cb777
extra : intermediate-source : 366862231c26e085fe749012a09418aa31936224
extra : source : 7b4e77911d1471c33fda0a43b50ed17c5274e795
2017-06-15 14:47:56 +08:00
Olli Pettay 21bf92b7d1 bug 1373583, initialize sActiveIntersliceGCBudget by default to non-zero value, r=jonco 2017-06-16 19:11:34 +03:00
Olli Pettay 19e0e34c6d Bug 1373651 - Ensure we don't report too large GC-during-idle values, r=mccr8
--HG--
extra : rebase_source : 597faa884e613f9580c9ae3283f6e54cb02dd46b
2017-06-16 17:45:15 +03:00
Olli Pettay 0b41b8c34d Bug 1373067 - Ensure CC isn't started too often, r=mccr8 2017-06-15 19:44:32 +03:00
Olli Pettay 0bb08227bb Bug 1372042 - Add telemetry about running collectors during idle time, r=mccr8 2017-06-14 23:41:22 +03:00
Nicholas Nethercote 0be77baa96 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.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Bill McCloskey ab678597e4 Bug 1371116 - Remove nsJSEnvironment::sContext (r=mccr8)
MozReview-Commit-ID: ETtzht971fI
2017-06-12 20:21:43 -07:00
Bill McCloskey aefa2aa5da 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 3d7f2966ec Bug 1371224 - Add markers for forgetSkippable and CC slices, r=mccr8,mstange
--HG--
extra : rebase_source : 34fd3553e7eeba6e72291d145451c8dd786c6834
2017-06-10 03:16:25 +03:00
Olli Pettay 5591c27af9 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, tweaks to keep reftest memory usage lower, r=mccr8
--HG--
extra : rebase_source : 850e4f25ef1ac18b768dc50dc4fa9b77f0743080
2017-06-10 02:41:06 +03:00
Olli Pettay ce6010c7d6 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8
--HG--
extra : rebase_source : 2ee14a0cc890b91f405a5b4741030dbad6989018
2017-06-10 02:38:50 +03:00
Wes Kocher 43acd1b6e6 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 5361fd6640 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 8fb20a5801 Backed out changeset ff33e6c6f6a5 (bug 1367905) for memory leaks 2017-06-07 15:13:37 +02:00
Olli Pettay 03c8a070c4 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8
--HG--
extra : rebase_source : b7248c5b45fe43eb733d73965a49c1cd69a1c72d
2017-06-06 20:41:34 +03:00
Andreas Farre 1ac06bd4d2 Bug 1311425 - Avoid GC/CC timers when scheduling idle, r=smaug
--HG--
extra : rebase_source : 5a43c45b331cebbc53363c83203cfad89d543cb0
2017-05-24 21:15:30 -04: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
Jonathan Watt 33cfc4aa43 Bug 1362891, part 2 - Make use of XRE_IsE10sParentProcess in code that could use it. r=froydnj
MozReview-Commit-ID: 81PFEgNH37m

--HG--
extra : rebase_source : 350b11b3bec652472565bd590ef13680e480a75e
2017-04-24 10:40:12 +01:00
Andrea Marchesini 1981f67eb3 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

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book f0d6de60d7 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla'
--HG--
rename : dom/script/ScriptSettings.cpp => dom/base/ScriptSettings.cpp
rename : dom/script/ScriptSettings.h => dom/base/ScriptSettings.h
rename : dom/script/nsIScriptElement.h => dom/base/nsIScriptElement.h
rename : dom/script/nsIScriptLoaderObserver.idl => dom/base/nsIScriptLoaderObserver.idl
rename : dom/script/ScriptElement.cpp => dom/base/nsScriptElement.cpp
rename : dom/script/ScriptElement.h => dom/base/nsScriptElement.h
rename : dom/script/ScriptLoader.cpp => dom/base/nsScriptLoader.cpp
rename : dom/script/ScriptLoader.h => dom/base/nsScriptLoader.h
2017-05-08 09:54:38 +02:00
Andrea Marchesini 7a4ef797cb 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

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Michael Layzell bbb295c668 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 f9e7c10239 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

--HG--
extra : rebase_source : 2c46e56ecaa47242177d8cce53a208f08f5cabe2
2017-04-28 10:14:22 -07:00
Bill McCloskey 34a4f034bb 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 730b4fc829 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

--HG--
extra : rebase_source : 683749421ee2122805a249cf413e882ee5f33331
2017-03-22 19:37:33 -04:00
David Major dc67bfc9a3 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

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Iris Hsiao 5cece96e1c 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 40f4821701 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

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
JerryShih 93438255d9 Bug 1270056 - skip the GC in nsGlobalWindow::SetNewDocument() r=smaug 2017-03-06 17:47:27 +00:00
Jan Varga e161ee742d Bug 1311057 - Part 1: Remove support for packaged apps from asmjscache; r=luke 2017-03-06 18:38:40 +01:00
David Major 6feec2967a Bug 1339968 - Remove NS_MULTILINE_LITERAL_STRING. r=froydnj 2017-02-17 15:24:11 +13:00