Commit Graph

12084 Commits

Author SHA1 Message Date
Cervantes Yu
7ce480d354 Bug 930282: Part 2: Mark PACMan thread and BackgroundHangMonitor thread. r=khuey 2013-10-15 17:43:08 +08:00
Honza Bambas
20cf00d291 Bug 899620 - Remove FORCE_PR_LOG from Windows implementation of TimeStamp, r=ehsan 2013-12-05 13:09:10 +01:00
Nicholas Nethercote
b413e441cf Bug 943660 (part 2) - Remove remnants of Remove nsIMemoryReporter::name.
--HG--
extra : rebase_source : 900bd1c641b26623cccf14d952b5387223b489eb
2013-12-03 20:01:24 -08:00
Jim Chen
e72ffaed40 Bug 940737 - Monitor Compositor thread hangs using BackgroundHangMonitor; r=bsmedberg r=BenWa 2013-12-04 21:24:28 -05:00
Jacek Caban
e2cd5ba18b Bug 944905 - Fixed char16_t/wchar_t mismatch in xpcom/ r=bsmedberg 2013-12-04 13:19:09 +01:00
Chris Peterson
ac37d1c1d0 Bug 945613 - Part 2: Mark xpcom/ds as FAIL_ON_WARNINGS. r=ehsan 2013-12-01 12:07:07 -08:00
Chris Peterson
eae4179189 Bug 945613 - Part 1: Suppress -Wdelete-non-virtual-dtor warning in nsAtomTable.cpp. r=ehsan 2013-12-01 12:06:29 -08:00
Ryan VanderMeulen
70aeae383f Backed out changeset 2572592c326d (bug 945813) for Linux64 debug xpcshell crashes.
CLOSED TREE
2013-12-03 20:35:03 -05:00
Seth Fowler
579513aaf3 Bug 940142 - Add a lightweight generic hash key class to nsHashKeys.h. r=bsmedberg 2013-12-03 16:23:32 -08:00
Ehsan Akhgari
1af04ef00b Bug 945592 - Convert the type macros in nsTextFormatter.cpp to enum values; r=froydnj 2013-12-03 15:41:25 -05:00
Andy Wingo
a9d2f530d9 Bug 945813 - Paper over cycle collection problem in IndexedDB. r=mccr8, r=khuey 2013-12-03 18:35:04 +01:00
Andrew McCreight
ea3497e170 Bug 937751, part 7 - Incrementalize nsCycleCollector::MarkRoots. r=smaug
Now that all of MarkRoots's state is stored on the heap, it can be run
incrementally. Like with Collect, it takes a budget to determine how
long it can run. Any residual budget will be available to the caller.

One difference is that Collect calls checkOverBudget() which always checks
the time, but MarkRoots uses isOverBudget() to determine if there is
any time remaining. This only checks the current time every
kNumNodesBetweenTimeChecks nodes, to reduce the overhead of checking.
2013-12-03 10:47:47 -08:00
Andrew McCreight
bd8bf20017 Bug 937751, part 6 - Allocate the current MarkRoots node on the heap rather than the stack. r=smaug
To make nsCycleCollector::MarkRoots incremental, we have to store all of its state on
the heap, so we can resume it.  The only remaining state to convert is the NodePool
enumerator.
2013-12-03 10:47:47 -08:00
Andrew McCreight
bbd56bb6f1 Bug 937751, part 5 - Add optional phase logging. r=smaug
For debugging purposes, it can be useful to see what ICC is currently
being run.
2013-12-03 10:47:47 -08:00
Andrew McCreight
5e100e7681 Bug 937751, part 4 - Incrementalize nsCycleCollector::Collect. r=smaug
This patch makes it so that Collect takes a time budget that describes
how much longer the collection can be run for. Then we run the current phase.
Once this is done, we check whether we have exceeded our time budget or
if we have finished a collection. If neither of those have happened, we
run the cycle collector some more.

If we're a manually triggered CC, and we were in the middle of an ICC when
the CC started, then once the current CC is complete, we start a new CC
immediately. This is needed to ensure that a manually specified listener
is used, and to ensure that any garbage objects the caller expects to be
collected are in fact collected.

Note that in this patch we are always passing in an unlimited budget to
Collect, so cycle collections will always be run to completion.
2013-12-03 10:47:47 -08:00
Andrew McCreight
c77f88b2f3 Bug 937751, part 3 - Protect against reentrancy with when incrementally CCing. r=smaug
Cycle collection protects against reentrancy by setting a flag to indicate a collection
is in progress. With synchronous CC, it is okay to set this in BeginCollection, and
clear it in CleanupAfterCollection. With ICC, this must be set and cleared in every
slice, so I moved the fixing of it to Collect.  I also changed the name of the variable,
because we can be in the middle of an ICC without the CC being actively running,
and it is only the latter we are worried about here.
2013-12-03 10:47:47 -08:00
Andrew McCreight
33eaf2c4b9 Bug 937751, part 1 - Add and set incremental cycle collection phases. r=smaug 2013-12-03 10:47:46 -08:00
Mike Hommey
881a7c1554 Bug 943728 - Replace double quotes with single quotes in Makefiles (or remove them when it makes sense). r=mshal 2013-12-03 06:34:21 +09:00
Andrew McCreight
d7d019c197 Bug 938407 - Null check FinishReportingCallback::mFinishDumping. r=froydnj 2013-12-02 13:11:43 -08:00
Jan Beich
6abc88d9b7 Bug 945046 - Implement private and vsize-max-contiguous reporters on FreeBSD. r=njn, r=glandium 2013-12-02 12:51:27 -05:00
Jan Beich
8458ddac1a Bug 945046 - Move private, vsize-max-contiguous class implementation under their own ifdef. r=njn 2013-12-02 12:51:26 -05:00
Aaron Klotz
319194253b Bug 944529: Obtain HDD info for GRE path and Windows directory; r=froydnj 2013-12-02 10:41:44 -07:00
Ryan VanderMeulen
293e5c3400 Merge m-c to inbound. 2013-12-02 10:34:41 -05:00
Carsten "Tomcat" Book
6fdc9145d7 merge mozilla-inbound to mozilla-central 2013-12-02 12:41:55 +01:00
Ehsan Akhgari
f07cba6cad Bug 945118 - Build more of XPCOM in unified mode; r=glandium 2013-12-01 10:47:52 -05:00
Brian R. Bondy
f1bacf4855 Bug 944434 - Updates from Desktop launch Metro to perform the update. r=emtwo 2013-11-29 07:24:55 -05:00
Carsten "Tomcat" Book
2bd99eb2d7 merge fx-team to mozilla-central 2013-11-29 10:13:09 +01:00
Makoto Kato
4ad3c462f3 Bug 942645 - Remove old OS_RELEAE reference. r=glandium 2013-11-29 13:52:22 +09:00
Masatoshi Kimura
01ea0e8fba Bug 942402 - Add version test functions for Thunderbird. r=jimm 2013-12-03 00:01:48 +09:00
Landry Breuil
ce099f1bff Bug 944410 - add missing #include <stdarg.h> for va_list on OpenBSD after bug 942483 r=bgirard 2013-11-30 13:48:34 +01:00
Marina Samuel
ef2d108ec4 Bug 934032 - Add View on Metro feature to Desktop Firefox in Australis. r=bbondy 2013-11-19 13:06:58 -05:00
Catalin Iacob
178490a226 Bug 819839 - Part 1 - Allow NS_StackWalk to be called during static initialization on Windows. r=ehsan 2013-11-29 16:08:43 +01:00
Mike Hommey
8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Nicholas Nethercote
80c840bc7e Bug 936964 (part 3, attempt 2) - Make nsCycleCollector ref-counted. r=mccr8.
--HG--
extra : rebase_source : ebda496b8cba0464280eb0dc7bae9aca137e2e25
2013-11-25 15:57:53 -08:00
Nicholas Nethercote
b827292c98 Bug 943660 (attempt 2) - Remove nsIMemoryReporter::name, because it's (a) unused and (b) a bad idea. r=mccr8.
--HG--
extra : rebase_source : 4381c3c424e34198b83c45fa0ac0d9a670bab2b8
2013-11-26 18:38:50 -08:00
Mike Hommey
b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Nicholas Nethercote
39004db706 Bug 936964 (part 7, attempt 2) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
* * *
Bug 936964 (part 7b) - Fix a use-after-free found by ASan.

--HG--
extra : rebase_source : d38ab6b63e9d576773baf8e55fa4f7182c33915e
2013-11-07 16:35:30 +11:00
Mike Hommey
682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Ehsan Akhgari
a903aefdc0 Backed out 9 changesets (bug 943660, bug 936964) because of ASAN use-after-free crashes on browser-chrome and mochitest-other
Backed out changeset 85486c4aa3d8 (bug 936964)
Backed out changeset 25312eb71998 (bug 936964)
Backed out changeset 6dbb8333960c (bug 936964)
Backed out changeset da6465ad476f (bug 936964)
Backed out changeset a87ffc992f38 (bug 936964)
Backed out changeset 4ae3a61182db (bug 936964)
Backed out changeset 34e9c3137804 (bug 936964)
Backed out changeset fd1459e71585 (bug 936964)
Backed out changeset 3e8a701d8bdc (bug 943660)

Landed on a CLOSED TREE

--HG--
rename : content/canvas/src/WebGLMemoryTracker.h => content/canvas/src/WebGLMemoryReporterWrapper.h
2013-11-27 20:05:00 -05:00
Nicholas Nethercote
bc475c75df Bug 936964 (part 7) - Make lots of classes report their own memory consumption, instead of using a separate reporter class. r=mccr8,sr=bz.
--HG--
rename : content/canvas/src/WebGLMemoryReporterWrapper.h => content/canvas/src/WebGLMemoryTracker.h
extra : rebase_source : 611e8d35907959b163aeced1c4ffe1d265048fe6
2013-11-07 16:35:30 +11:00
Nicholas Nethercote
49c091bbb1 Bug 936964 (part 3) - Make nsCycleCollector ref-counted. r=mccr8.
--HG--
extra : rebase_source : f781c197b20354eda4622d436d5ef3429ce2481b
2013-11-25 15:57:53 -08:00
Nicholas Nethercote
19f2e8fdea Bug 943660 - Remove nsIMemoryReporter::name, because it's (a) unused and (b) a bad idea. r=mccr8.
--HG--
extra : rebase_source : f2ccff7972d7161e2290fd3db70463524c55f230
2013-11-26 18:38:50 -08:00
Dan Minor
df8c35f9a9 Bug 943390 - Unit test TestTArray.cpp fails on Windows XP opt builds; r=froydnj 2013-11-29 12:48:08 -05:00
Bobby Holley
ef0b93b31e Bug 911303 - Remove manual Destroy() routine from CycleCollectedJSRuntime. r=billm 2013-11-27 10:10:25 -08:00
Jacek Caban
12b4d7fd02 Bug 928351 - Char16.h and xpcom/strings/public parts r=ehsan,Waldo 2013-11-27 14:40:54 +01:00
Markus Stange
513b0bcce1 Bug 924103 - Add a FilterDescription data structure and code that can create FilterNodes from it. r=roc 2013-11-27 12:25:28 +01:00
Mike Hommey
822b855a64 Bug 943197 - Remove useless -DIMPL_LIBXUL. r=mshal 2013-11-27 17:13:05 +09:00
Andrew McCreight
aecbe64228 Bug 937966 - Clean up scan safe assertion in Suspect. r=smaug 2013-11-26 17:30:46 -05:00
Andrew McCreight
685a29f9b1 Bug 931738 - Remove nsPurpleBufferEntry from nsISupportsImpl.h. r=smaug 2013-11-26 14:29:59 -05:00
Daniel Holbert
89751e4609 Bug 943238: Mark xpcom/io as FAIL_ON_WARNINGS. r=froydnj 2013-11-26 09:53:54 -08:00
Daniel Holbert
2c36a671c8 Bug 943391: Use MOZ_THIS_IN_INITIALIZER_LIST to silence MSVC warning C4355 in nsPipe3.cpp. r=froydnj 2013-11-26 09:42:59 -08:00
Daniel Holbert
e3da224a34 Bug 943235: undef LOG at the end of nsStorageStream.cpp, to prevent it from polluting other .cpp files and triggering "redefined" build warnings when we build in unified mode. r=froydnj 2013-11-26 09:42:58 -08:00
Ehsan Akhgari
891faacb91 Bug 943035 - Use fallible allocation in nsScriptableInputStream::Read; r=bsmedberg 2013-11-26 11:52:48 -05:00
Ehsan Akhgari
f3d5e39cbf Bug 942635 - Build dom/ipc in unified mode; r=bzbarsky 2013-11-26 11:39:19 -05:00
Benjamin Smedberg
9950de3641 Bug 938794 - Annotate OOM size as infallible string or data structures abort, r=froydnj
--HG--
extra : rebase_source : f84278dfbba92c6d75458b525a559b6f8598500f
2013-11-25 15:06:17 -05:00
Chris Peterson
565f47bc12 Bug 942400 - Fix -Wunused-variable warning in xpcom/io/nsMultiplexInputStream.cpp. r=nfroyd 2013-11-22 19:39:47 -08:00
Birunthan Mohanathas
1e8f99fd01 Bug 784739 - Switch from NULL to nullptr in miscellaneous directories; r=ehsan
--HG--
extra : rebase_source : 8ace754e117a12e2599f5a90030f13a3a7064fed
2013-11-25 14:02:47 -05:00
Jan Beich
0f2c1d8098 Bug 942488 - Don't report pseudo-stacks without SPS profiler. r=nchen 2013-11-25 09:24:00 -05:00
Benoit Girard
a735170d84 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Ehsan Akhgari
869d0af69a Bug 942489 - Deunify more files that are caught by bug 941854; r=BenWa 2013-11-24 01:29:24 -05:00
Mike Hommey
aaacc118f4 Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps 2013-11-22 08:16:18 +09:00
Jim Chen
58cafde33a Bug 932865 - Collect thread hang stats in BackgroundHangMonitor; r=froydnj 2013-11-22 14:17:31 -05:00
Jim Chen
eaec8a4510 Bug 932865 - Record inactive thread hang stats inside telemetry; r=vladan 2013-11-22 14:17:31 -05:00
Jim Chen
07b69c15af Bug 932865 - Add way for telemetry to iterate over active threads; r=froydnj 2013-11-22 14:17:31 -05:00
Jim Chen
c64b0ca7e1 Bug 935092 - Add ThreadStackHelper to get a thread's pesudo-stack; r=BenWa 2013-11-22 14:17:30 -05:00
Jim Chen
75497803c7 Bug 909974 - Stop the monitor thread when the BackgroundHangManager instance is destroyed; r=froydnj 2013-11-22 14:17:30 -05:00
Jim Chen
10b4b19413 Bug 909974 - Let monitor thread detect hangs in addition to permahangs; r=froydnj 2013-11-22 14:17:29 -05:00
Jim Chen
08f53c8320 Bug 909974 - Add a hang monitor for background threads; r=froydnj 2013-11-22 14:17:29 -05:00
Ed Morley
2df56b3abd Backed out changeset 1eb6ceed2cda (bug 938437) on suspicion of causing WinXP debug jetpack failures on a CLOSED TREE 2013-11-22 16:00:32 +00:00
Ed Morley
1a9ee1c710 Backed out changeset c30371a66429 (bug 941450) 2013-11-22 15:59:22 +00:00
Ryan VanderMeulen
839040eeee Merge m-c to inbound. 2013-12-06 16:13:37 -05:00
Bobby Holley
e509129d09 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-06 12:01:41 -08:00
Chris Peterson
aafbccae27 Bug 945613 - Part 3: #ifdef pragma for gcc >= 4.7.0. r=ehsan 2013-12-06 09:47:28 -08:00
Andrew McCreight
cff1ba464d Bug 937766, part 5 - Implement PrepareForGarbageCollection. r=smaug
Running the garbage collector can cause objects in the CC graph to
die, so just finish off an incremental cycle collection when we
start a GC.
2013-12-06 10:17:20 -08:00
Andrew McCreight
c646a8c5ef Bug 937766, part 4 - Add GCGraph::IsEmpty method. r=smaug 2013-12-06 10:17:20 -08:00
Andrew McCreight
625ea25bce Bug 937766, part 3 - Add mParticipant null checks. r=smaug
When an object dies during an incremental cycle collection, we null out
its mParticipant, so we must add various null checks to avoid crashing
when we reach the CC graph representation of an object that has died.
2013-12-06 10:17:20 -08:00
Andrew McCreight
d1f30059ad Bug 937766, part 2 - Make SnowWhiteKiller remove dying things from the CC graph. r=smaug
If we purge snow white objects while ICC is in progress, we need to
make sure to remove anything from the CC graph to avoid dangling pointers.
We don't need to do that after shutdown.
2013-12-06 10:17:20 -08:00
Mike Hommey
2f9d386e67 Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps 2013-11-22 08:16:18 +09:00
Mike Hommey
86956347ec Bug 938437 - Replace nsStaticXULComponents.cpp with smart use of sections. r=bsmedberg,irc-r=decoder,r=nfroyd 2013-11-19 13:45:31 +09:00
Masatoshi Kimura
8c2c9a5c0a Bug 925599 - Replace GetVersion() uses. r=bsmedberg 2013-11-22 12:35:42 +09:00
Wes Kocher
0baa2a0d4e Merge m-c to inbound 2013-11-21 19:18:18 -08:00
Wes Kocher
07ce8fb494 Merge fx-team to m-c 2013-11-21 19:16:50 -08:00
Ehsan Akhgari
5ae04a9cf8 Bug 941739 - Print the current process and thread information on XPCOM assertions and string leaks stats; r=froydnj 2013-11-21 14:17:35 -05:00
Ryan VanderMeulen
7c4875ed06 Merge m-c to fx-team. 2013-11-21 15:55:03 -05:00
Ryan VanderMeulen
aff6efccdc Merge m-c to inbound. 2013-11-21 11:37:10 -05:00
Carsten "Tomcat" Book
b696d7931d merge mozilla-inbound to mozilla-central 2013-11-21 14:20:21 +01:00
Nicholas Nethercote
6ebfdcab7c Bug 940069 - Backout a temporary debugging printf that runs on --enable-valgrind builds only, because it has served its purpose. r=me. 2013-11-20 00:27:00 -08:00
Alexander Surkov
3fddde94b8 Bug 935698 - isolate nsIAccessibleValue implementation into separate class, r=tbsaunde 2013-11-19 16:01:15 -05:00
Jim Blandy
a448351084 Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo 2013-11-19 09:05:36 -08:00
ISHIKAWA, Chiaki
9fee7183c6 Bug 936987 - Propagate the error code of PR_Close() against a file under CIFS-share under Linux. r=froydnj
(Network error causes the file share to fail, and read()/close() and possibly write() can return network-related error. close() error was not caught before.)
2013-11-19 14:56:58 -05:00
Andrew McCreight
6663405c37 Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug 2013-11-20 14:35:17 -08:00
Andrew McCreight
e95cbc0c81 Bug 935721, part 9 - Move mPtrToNodeMap into GCGraph. r=smaug
With ICC, we may have to remove things from the graph after we have finished building
the graph, so move the mapping to graph addresses into the graph itself to create a
more self-contained structure.
2013-11-20 14:35:17 -08:00
Andrew McCreight
bb1468458b Bug 935721, part 8 - Add a reference to the graph to the graph builder. r=smaug
This moves towards letting the CC graph outlive the builder.
2013-11-20 14:35:16 -08:00
Andrew McCreight
e684f4cc71 Bug 935721, part 7 - Inline PrepareForCollection into BeginCollection. r=smaug
PrepareForCollection is trivial now, so just inline it.
2013-11-20 14:35:16 -08:00
Andrew McCreight
96e1092a51 Bug 935721, part 5 - Invert the control flow of CycleCollectNow's pre- and post-collection work, add CCResults as a field on the CC. r=smaug
nsJSEnvironment::CycleCollectNow does work before and after a CC runs. With ICC, nsJSEnv won't
know where in the CC when a CC is about to begin or end, so this patch reorganizes that work
into two separate callback hooks.  This requires adding a new struct, CycleCollectorStats, to
hold data nsJSEnv needs between the two calls.

Rather than trying to pass around a pointer to a results structure, this patch just adds
it to the nsCycleCollector struct, and always stores them. The results are passed back
to the end CC callback.
2013-11-20 14:35:16 -08:00
Andrew McCreight
44bb1bc6e4 Bug 935721, part 4 - Allocate white nodes array in CollectWhite. r=smaug
The white nodes array is only used in CollectWhite, so just allocate it there.
2013-11-20 14:35:16 -08:00
Andrew McCreight
e4b1a62a1a Bug 935721, part 3 - Use RAII to set mScanInProgress, hoist out MarkRoots and ScanRoots. r=smaug
With ICC, mScanInProgress gets set and cleared a bunch of times so add an RAII class to turn
it on when we're doing stuff and clear it when we're not.

With that in place, we can easily move MarkRoots and ScanRoots out of BeginCollection
in preparation for making them separate phases in ICC.
2013-11-20 14:35:16 -08:00
Andrew McCreight
96d04bb502 Bug 935721, part 2 - Allocate GCGraphBuilder on the heap. r=smaug
With ICC, the graph builder must persist across invocations of the CC,
so store it on the heap.
2013-11-20 14:35:15 -08:00
Andrew McCreight
6f67d60423 Bug 935721, part 1 - Store the listener pointer on the nsCycleCollector data structure. r=smaug
With ICC, the listener must persist across invocations of the CC, so store it on the CC.
2013-11-20 14:35:15 -08:00
Benjamin Smedberg
6a4ff78542 Bug 672843 part D - make NS_ERROR_INVALID_POINTER an alias of NS_ERROR_INVALID_ARG, r=froydnj 2013-11-19 16:27:37 -05:00