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

14232 Коммитов

Автор SHA1 Сообщение Дата
Jesse Ruderman 7ed9e0fe1b Bug 1024259: Use NS_FREE_PERMANENT_DATA more consistently. r=mccr8 2015-07-31 12:11:48 -07:00
Kyle Huey 8f1d6bf154 Bug 1152574: Fix console service discarding to run when it is actually safe to do so (off of inner-window-destroyed). Also add a backstop at xpcom-shutdown to discard any cycle collected messages before it is too late. r=froydnj
--HG--
extra : rebase_source : 689ed129fd8df604385dde4fe9d9477f14f2fced
2015-07-31 06:49:27 -07:00
Andrew McCreight 3127d66102 Bug 1189122 - Assert when we Suspect() when a CC scan is in progress. r=smaug
This can cause leaks that are invisible to our XPCOM leak detection system.

To avoid this, classes should not addref or release in their Traverse methods.

--HG--
extra : rebase_source : acd0b070c63cbb4111c165d6b131b8e3b822773a
2015-07-29 20:48:00 +02:00
Nicholas Nethercote 2d56c1f52e Bug 1189156 (part 1) - Don't use enumeration style for PLDHashTable::SizeOf{In,Ex}cludingThis(). r=froydnj.
After this change, we have PLDHashTable::ShallowSizeOf{In,Ex}cludingThis(),
which don't do anything to measure children. (They can be combined with
iteration to measure children.)

This patch also removes the PL_DHashTableSizeOf{In,Ex}cludingThis() functions.
They're not necessary because the methods can be used instead.

Finally, the patch deliberately converts some SizeOfExcludingThis() calls to
SizeOfIncludingThis(). These are all done on heap pointers so this change is
valid.

--HG--
extra : rebase_source : b1d51096a8e7dcac29d7efd92e28938836ff5481
2015-07-29 22:28:20 -07:00
James Cheng 9aed940662 Bug 975246 - Part2- Test Invoking via operator->*. r=nfroyd 2015-07-29 02:52:00 +02:00
Nicholas Nethercote 87b80f8c66 Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.

--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
2015-07-28 23:24:24 -07:00
Byron Campen [:bwc] 309a57122b Bug 1059572 - Part 2: Make absolutely sure a timer is removed before reinitting it. r=nfroyd
--HG--
extra : rebase_source : 9a952241e046321a25adf52167bd7a538d25f37a
2015-07-28 10:10:54 -05:00
Byron Campen [:bwc] e145322168 Bug 1059572 - Part 1: Move PostTimerEvent to TimerThread to allow TimerThread's monitor to protect it. r=nfroyd
--HG--
extra : rebase_source : ec9623818cd1a5f3a2665a1c4af4be7869c0dec3
2015-07-22 12:39:34 -05:00
Byron Campen [:bwc] 0978da8e2c Bug 1059572 - Part 0.5: Fixes for pre-existing problems in TestTimers. r=nfroyd
--HG--
extra : rebase_source : c1b7e705e4a46f69f2567469ae54f866768de0a4
2015-07-29 11:43:40 -05:00
Byron Campen [:bwc] e9930c8020 Bug 1059572 - Part 0: Fuzz test for timers. r=nfroyd
--HG--
extra : rebase_source : ca1e13f6b60ed61b190f8ace90d28f78e531e90b
2015-07-29 11:16:14 -05:00
Aidin Gharibnavaz 99b2a37529 Bug 108603 - Remove NS_IMPL_QUERY_INTERFACE_INHERITED0. r=mccr8, r=froydnj
--HG--
extra : rebase_source : 98a86a1ff5d023aa74800de8feb1cfe1846edf03
2015-07-24 12:13:00 -04:00
Bobby Holley 97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Bobby Holley 4762225b99 Bug 1188696 - Remove the XPCOM dependencies in nsRefPtr.h. r=froydnj 2015-07-29 10:44:58 -07:00
Nathan Froyd c6d5ee54fb Bug 1179787 - part 2 - add template logic for smart pointer template arguments in NS_NewRunnableMethod*; r=botond 2015-07-02 11:17:49 -04:00
Nathan Froyd 8ddd161b85 Bug 1179787 - part 1 - forward StorensRefPtrPassByPtr's constructor argument; r=botond
StorensRefPtrPassByPtr is currently used for storing reference-counted
types passed as T* template arguments to NS_NewRunnableMethodWith*.
We'd also like to use it to store nsRefPtr<T> template arguments.  While
it could be used in its current form, it'd be better for its constructor
to support forwarding, so that something like:

  NS_NewRunnableMethodWithArg<nsRefPtr<T>>(..., nsRefPtr<T>(local));

doesn't cause unnecessary reference counting.
2015-07-02 11:05:52 -04:00
Ryan VanderMeulen fb6b2747d5 Bug 1180017 - Fix up the badly-horked backout and re-land.
CLOSED TREE

--HG--
extra : amend_source : 0b7ac18429b248cf05cfe33f6b2f6efdf1602c38
extra : histedit_source : bdb11dafa100809ec17491e5711fb0b507e023c6%2C5e4134650a804859dc8b3078688fa4655052263f
2015-07-29 12:31:47 -04:00
Jim Blandy 4e8fc0bdcb Bug 1180017 - Give GCCellPtr is<T> and to<T> methods, replacing isFoo and toFoo methods. Fix callers. r=terrence 2015-07-03 15:06:23 -07:00
Carsten "Tomcat" Book 25a2a75a56 Backed out changeset 465793bc6fcf (bug 1180017) for suspicion of causing bug 1188799 2015-07-29 15:27:12 +02:00
Jacek Caban 1febc8154e Bug 1188431 - Fixed length argument handling in char16ptr_t variant of NS_ConvertUTF16toUTF8 constructor. r=nfroyd 2015-07-29 12:26:40 +02:00
Jim Blandy ff7cc06ef6 Bug 1180017: Give GCCellPtr is<T> and as<T> methods, replacing isFoo and toFoo methods. Fix callers. r=terrence
--HG--
extra : rebase_source : 4a381c5d8427ad2995426e65c69af1597b1557c2
2015-07-07 09:52:01 -07:00
Ehsan Akhgari 7a81d59cb2 Bug 1188203 - Fix more constructors in XPCOM; r=froydnj 2015-07-28 12:24:37 -04:00
Kyle Huey 6dad638eb2 Bug 1186780: Replace EnumerateRead with new iterators in cycle collection code. r=mccr8 2015-07-26 19:29:52 -07:00
Nicholas Nethercote dbc67380bd Bug 1187767 - Ensure PLDHashTable's generation is always updated when the entry store is modified. r=froydnj.
--HG--
extra : rebase_source : e70d253257eac422a454d20de0fb94d2ac736e84
2015-07-26 19:57:23 -07:00
Honza Bambas 61aeafa22b Bug 1024056 - Simple ASCII lexical analyzer. r=nfroyd 2015-07-27 05:07:00 -04:00
Carsten "Tomcat" Book c9839dd8f9 Backed out changeset 1ca5723f69d4 (bug 1186780) for dom crashes 2015-07-27 08:01:09 +02:00
Kyle Huey 6758447d5d Bug 1186780: Replace EnumerateRead with new iterators in cycle collection code. r=mccr8 2015-07-26 19:29:52 -07:00
Nicholas Nethercote 10da8efa1c Bug 1187197 (part 3) - Convert pldhash.{cpp,h} to C++ style comments. r=froydnj.
--HG--
extra : rebase_source : 4615862ad586e24050a6f5571b8d21689ba3fdf3
2015-07-23 23:13:11 -07:00
Nicholas Nethercote 42e338fc52 Bug 1187197 (part 2) - Put function return types on their own line. r=froydnj.
--HG--
extra : rebase_source : 58e81c134c321faa28e6ab46ed4c6c583a846ab5
2015-07-23 23:13:10 -07:00
Nicholas Nethercote 49a82c55c8 Bug 1187197 (part 1) - Move comments from PL_DHashTable* functions to the equivalent methods. r=froydnj.
Because the PL_DHashTable* functions will go away eventually (bug 1121760).

--HG--
extra : rebase_source : 6bd5aedf71c162102f4a7e06347c868d5dd78dbd
2015-07-23 21:43:48 -07:00
Michael Layzell 660f381a2f Bug 1159433 - Part 4: Mark nsTAutoString_CharT and nsAutoArrayBase as non-memmovable; r=froydnj 2015-07-24 19:15:40 -04:00
Michael Layzell 66a04cf80f Bug 1159433 - Part 3: Make nsTArray_CopyChooser only accept memmovable argument types by default; r=froydnj 2015-07-24 19:15:23 -04:00
Michael Layzell 69cc6fcb31 Bug 1123907 - Part 2: Add MOZ_NEEDS_NO_VTABLE_TYPE to Attributes.h, and use it to verify the EntryType argument of nsTHashtable; r=ehsan 2015-07-24 19:14:09 -04:00
Xidorn Quan 658cb19c1f Bug 1187201 - Add char16 wrapper constructor for NS_ConvertUTF16toUTF8 in external string API. r=froydnj
--HG--
extra : source : 0facdb6085164a2f5a1674f795fc7a2df4332ca3
2015-07-24 23:06:50 +10:00
Julian Seward 41efe494ad Bug 1183093 - Uninitialised value use in Probe::Trigger. r=dteller. 2015-07-24 11:45:50 +02:00
Nate Hughes 94f8966c4b Bug 986302 - Add memory reporting for HPACK tables r=hurley r=njn 2015-07-17 14:38:10 -07:00
Nicholas Nethercote 50600e08a2 Bug 1181443 (part 2) - Use nsTHashtable::Iterator in TestHashtables.cpp. r=froydnj.
--HG--
extra : rebase_source : 8af9bef1f1f474555f09b41ec3d985add6d9d728
2015-07-23 02:36:13 -07:00
Nicholas Nethercote 3e2de4702c Bug 1181443 (part 1) - Use nsTHashtable::Iterator in nsCheapSet. r=froydnj.
nsCheapSet is used little enough that I didn't bother creating an iterator for
it.

I removed the dependency on PLDHashOperator by introducing nsCheapSetOperator,
which is equivalent.

--HG--
extra : rebase_source : 8a15ae2ee0949a241f6417bfab614affbec2987c
2015-07-23 02:35:27 -07:00
Andrew McCreight 18401c9409 Bug 931571, part 15 - Remove extra spaces in nsVariant macros. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight 14b12fbcf9 Bug 931571, part 14 - Delete various ways to copy or move nsDiscriminatedUnion. r=froydnj
nsDiscriminatedUnion owns memory without using smart pointers, so implementing anything
that would copy or move around one of these will require some care. Just forbid these
for now.
2015-07-23 12:28:30 -07:00
Andrew McCreight 13e2d3a560 Bug 931571, part 13 - Add a destructor for nsDiscriminatedUnion. r=froydnj
The existing nsDiscriminateUnions either always call Cleanup() when they
are about to go away, or they only handle scalar values so it is safe to
call Cleanup() on them without worrying about another discriminated union
having taken over any memory owned by this union.
2015-07-23 12:28:30 -07:00
Andrew McCreight 0994e4e4ed Bug 931571, part 12 - Add nsDiscriminatedUnion::GetType(). r=froydnj
This is not quite enough to make the data members private because
XPCVariant pokes around to do some JS array stuff.
2015-07-23 12:28:30 -07:00
Andrew McCreight 4bdbcd2020 Bug 931571, part 11 - Turn nsDiscriminatedUnion's Traverse function into a method. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight 2cca253ff3 Bug 931571, part 10 - Turn SetFromVariant into a method. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight cb922209d3 Bug 931571, part 9 - Turn most of the nsVariant setters into nsDiscriminated methods. r=froydnj
This also adds a new nsDiscriminatedUnion method SetFromDOMString, as somebody added an nsVariant method without the corresponding helper.
2015-07-23 12:28:30 -07:00
Andrew McCreight 8c28737b59 Bug 931571, part 8 - Turn ConvertToISupports, ConvertToInterface and ConvertToArray to methods. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight 219f81d45f Bug 931571, part 7 - Turn ConvertTo*String and ToString into methods. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight 83b488957d Bug 931571, part 6 - Make ConvertToID and String2ID into methods. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight 6c297a19d4 Bug 931571, part 5 - Turn basic ConvertTo functions into methods. r=froydnj 2015-07-23 12:28:30 -07:00
Andrew McCreight cadbb45b7f Bug 931571, part 4 - Fix some spacing inside macros.
There's more that could be done to fix the style, but this was bothering me.
2015-07-23 12:28:30 -07:00
Andrew McCreight 79e1884b62 Bug 931571, part 3 - Rename return value of macro generated methods. r=froydnj 2015-07-23 12:28:29 -07:00
Andrew McCreight ca92d9ebc0 Bug 931571, part 2 - Convert Cleanup() and FreeArray() to methods. r=froydnj 2015-07-23 12:28:29 -07:00
Andrew McCreight 7b7d1a30b8 Bug 931571, part 1 - Use a constructor for nsDiscriminatedUnion. r=froydnj 2015-07-23 12:28:29 -07:00
Bobby Holley 4f18eeb505 Bug 1161831 - Generate an extra macro to declare a non-virtual variant of an interface. r=billm
This allows us to have a shared superclass that implements the guts of a shared
superinterface, without having the superclass actually inherit the superinterface
(which leads to annoying and unnecessary diamond-inheritance).
2015-07-21 12:57:20 -07:00
Andrew McCreight 7c34797069 Bug 1179924 - Create a more modern JS object holder for cross-thread references to JS objects. r=smaug 2015-07-21 11:31:44 -07:00
Birunthan Mohanathas 4db7ee5707 Bug 1185589 - Properly handle self-assignment in nsTArray::operator=. r=mccr8 2015-07-21 09:42:58 -07:00
Andrew McCreight 6ea0227583 Bug 1185144 - nsConsoleService::LogMessageWithMode() should release the retired message on the main thread. r=froydnj
Also, add release asserts that the other methods that addref or release console messages are only run on the main thread.

Finally, add an assert that nsScriptErrorWithStack is only created on the main thread.
2015-07-21 07:50:09 -07:00
Carsten "Tomcat" Book f7531b86f7 Backed out changeset 8b90b21e0c64 (bug 986302) for static build failures 2015-07-21 08:53:37 +02:00
Nate Hughes 3f6e8d3da5 Bug 986302 - Add memory reporting for HPACK tables. r=hurley r=njn 2015-07-17 14:38:10 -07:00
Nicholas Nethercote 4ade448a75 Bug 1185399 (part 2) - Remove macros from pldhash.cpp. r=froydnj. 2015-07-20 17:15:00 -07:00
Nicholas Nethercote 954e563acc Bug 1185399 (part 1) - Remove macros from pldhash.h. r=froydnj. 2015-07-20 17:06:38 -07:00
Kyle Huey ee4f5ba9fb Bug 1185470: Remove 'Get' prefixes from hashtable iterator methods. r=froydnj 2015-07-20 20:21:28 +08:00
Carsten "Tomcat" Book 0551dfb053 merge mozilla-inbound to mozilla-central a=merge 2015-07-20 11:36:42 +02:00
Victor Porof f11ae1a898 Bug 1183228 - Use separate files for AutoTimelineMarker and AutoGlobalTimelineMarker, r=smaug 2015-07-17 15:51:39 -04:00
Andrew McCreight 74d0ecbbd9 Bug 1184695 - Fix some indentation in nsHashPropertyBag. r=poiru 2015-07-16 17:50:43 -07:00
Ehsan Akhgari 29d8c3e504 Bug 1123386 - Part 3: Mark DoNothingCallback::Callback as override in order to fix a build issue in warnings as errors mode 2015-07-17 22:19:57 -04:00
Wes Kocher c3eedd62ae Merge m-c to inbound, a=merge CLOSED TREE 2015-07-15 16:41:49 -07:00
Wes Kocher 59e6297180 Merge fx-team to central, a=merge 2015-07-15 16:33:58 -07:00
Benoit Girard 819a9fd767 Bug 1182516 - Fix mid-air conflict with 3fd2ab6cb762 on a CLOSED TREE. r=bustage
--HG--
extra : commitid : Adcu7H4oTQG
2015-07-15 18:08:25 -04:00
Ryan VanderMeulen fa5776b708 Merge m-c to fx-team. a=merge 2015-07-15 13:30:09 -04:00
Ryan VanderMeulen 2d600228e7 Merge b2g-inbound to m-c. a=merge 2015-07-15 13:25:56 -04:00
Kan-Ru Chen c825f41c31 Bug 1181518 - Change the reason for memory-pressure fired during priority change. r=gsvelto 2015-07-15 17:07:39 +08:00
Benoit Girard fe3dfcf5b2 Bug 1182516 - Add Chaos Mode environment variable MOZ_CHAOSMODE. r=roc
--HG--
extra : commitid : qfYBMvxZ7k
extra : rebase_source : 4c7098464712d7e5fa88ba1d8fba7c044772b0d6
2015-07-14 17:29:23 -04:00
Ben Kelly 1d8798cbc9 Bug 1173912 Fail opaque responses for client requests. r=ehsan 2015-07-14 13:11:26 -07:00
Ben Kelly e2321797dc Bug 1173934 Show a message if a docshell fails to load due to SW intercept failure. r=ehsan r=jdm 2015-07-14 13:11:26 -07:00
Ryan VanderMeulen 551c0cccfc Merge m-c to inbound. a=merge 2015-07-15 13:26:44 -04:00
Peter Elmers f0de749c69 Bug 1183291 - Factor idl-parser into a Python package. r=khuey
Move Python code into an xpidl subdirectory, and include a setup.py to allow
inclusion from pip install or requirements files. Change build directory
variables appropriately.

--HG--
rename : xpcom/idl-parser/Makefile.in => xpcom/idl-parser/xpidl/Makefile.in
rename : xpcom/idl-parser/header.py => xpcom/idl-parser/xpidl/header.py
rename : xpcom/idl-parser/moz.build => xpcom/idl-parser/xpidl/moz.build
rename : xpcom/idl-parser/runtests.py => xpcom/idl-parser/xpidl/runtests.py
rename : xpcom/idl-parser/typelib.py => xpcom/idl-parser/xpidl/typelib.py
rename : xpcom/idl-parser/xpidl.py => xpcom/idl-parser/xpidl/xpidl.py
2015-07-13 13:09:11 -07:00
Jeff Muizelaar 7bc6837af6 Bug 1178426. Add GfxInfo to ServicesList.h. r=nfroyd
--HG--
extra : rebase_source : b18fb78fa6b7d86fbb9496861938bfde21b3c6e6
2015-07-08 16:51:09 -04:00
Andrew McCreight 807cd2fbe2 Bug 1182318 - Part 2: Remove Closure from CycleCollectedJSRuntime. r=smaug
Closure is now just a wrapper around a single boolean, so instead pass a pointer to the boolean.
2015-07-14 08:01:00 -04:00
Andrew McCreight ee6ab85145 Bug 1182318 - Part 1: Remove Closure::mCb. r=smaug
This field no longer needs to be passed in the closure thanks to the iterator.
2015-07-14 08:01:00 -04:00
Olli Pettay bf12e17af3 Bug 1182277, don't leak when using nsAutoTArray inside nsTArray, r=nfroyd
--HG--
extra : rebase_source : f2ef5f9be86461490ad87e4862e1f77f88b33ade
2015-07-14 17:05:10 +03:00
Nicholas Nethercote 4aa7305199 Bug 1180122 - Make Chaos Mode affect PLDHashTable's iterators. r=froydnj.
This makes the code less elegant, but that's unavoidable.

--HG--
extra : rebase_source : 585034bcd8383102669caf2378d705234410d8a9
2015-07-03 00:27:27 -07:00
Alexandre Poirot 5fb7a23ea0 Bug 814497 - Cleanup console service cache when a window is destroyed. r=nfroyd 2015-07-09 06:49:00 -04:00
Ehsan Akhgari 68e13b0044 Bug 1123323 - Ensure that xptiTypelibGuts cannot have a vtable; r=froydnj 2015-09-03 18:54:19 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Michael Layzell fafaf07b01 Bug 1028132 - Remove mozilla::HasDangerousPublicDestructor<T>. r=mccr8 2015-07-07 18:45:00 -04:00
Nicholas Nethercote a122bb402c Bug 1182926 - Fix "observer-service-suspect" bustage. r=poiru.
--HG--
extra : rebase_source : 3bc89688488a8b0f4c22dd10a7c2a24babd07733
2015-07-12 15:55:27 -07:00
Nicholas Nethercote e1824580b7 Bug 1181411 - Test some expected aborts in PLDHashTable. r=glandium. 2015-07-12 18:50:21 -07:00
Wes Kocher aec62d3dc0 Backed out changeset adf95d1cd0aa (bug 1173934) for fetch-frame-resource.https.html WPT orange and test_synthesized_response.js S4 orange CLOSED TREE
--HG--
extra : amend_source : 82d7af13e11137e614b0b1bd12f5af3108551bfc
2015-07-10 15:59:01 -07:00
Wes Kocher 14b97c87b1 Backed out changeset df6593df027b (bug 1173912) 2015-07-10 15:58:24 -07:00
Ben Kelly e0d5d6632a Bug 1173912 Fail opaque responses for client requests. r=ehsan 2015-07-10 14:28:32 -07:00
Ben Kelly 2a31a01e4b Bug 1173934 Show a message if a docshell fails to load due to SW intercept failure. r=ehsan r=jdm 2015-07-10 14:28:32 -07:00
Wes Kocher a44c7080e6 Backed out changeset 9814f77d258b (bug 1179924) for frequent random serviceworkers failures CLOSED TREE 2015-07-10 12:48:34 -07:00
Andrew McCreight 3f09fa3f0f Bug 1179924 - Create a more modern JS object holder for cross-thread references to JS objects. r=smaug 2015-07-10 07:41:33 -07:00
Nicholas Nethercote 3aa4ed90e3 Bug 1181445 (part 13) - Use nsBaseHashTable::Iterator in xpcom/ds/. r=froydnj.
--HG--
extra : rebase_source : 0c143d4bb6de75d133984b41400cd612e4d1064e
2015-07-09 16:54:59 -07:00
Nicholas Nethercote f32a629f7d Bug 1181445 (part 12) - Use nsBaseHashTable::Iterator in xpcom/threads/. r=froydnj.
--HG--
extra : rebase_source : 76f747c7ac22df28cc78a8afea0e25f3b4b2aa07
2015-07-09 16:54:59 -07:00
Nicholas Nethercote d367971294 Bug 1181445 (part 11) - Use nsBaseHashTable::Iterator in xpcom/glue/. r=froydnj.
--HG--
extra : rebase_source : 5b6fe9813c08627f626fa8da66a8e724baa274aa
2015-07-09 16:54:59 -07:00
Nicholas Nethercote 70347ce8c5 Bug 1181445 (part 10) - Use nsBaseHashTable::Iterator in CycleCollectedJSRuntime. r=mccr8.
--HG--
extra : rebase_source : 04841562dbe03e48b37c941b540ade0c493ba4e6
2015-07-09 16:54:59 -07:00
Nicholas Nethercote dbb7aa5cb2 Bug 1181445 (part 9) - Use nsBaseHashTable::Iterator in nsConsoleService. r=froydnj.
--HG--
extra : rebase_source : b2093646a4e91e99e901075d19851392696f06ff
2015-07-09 16:54:59 -07:00
Nicholas Nethercote 945ee9edd6 Bug 1181445 (part 8) - Use nsBaseHashTable::Iterator in SystemMemoryReporter. r=froydnj.
--HG--
extra : rebase_source : 1629f83406d7997fd8e21f3cb6558ca09adb109c
2015-07-09 16:54:59 -07:00
Nicholas Nethercote 4230c038ed Bug 1181445 (part 7) - Use nsBaseHashTable::Iterator in xpcom/reflect/. r=froydnj.
--HG--
extra : rebase_source : eca5822aff7c334c74a5cabea6cef2fc3b94bf3d
2015-07-09 16:54:59 -07:00
Nicholas Nethercote d13b0d1848 Bug 1181445 (part 6) - Use nsBaseHashTable::Iterator in xpcom/components/. r=froydnj.
Note that enumfunc_pentries and persistent_userstruct are unused, and so could
be removed.

--HG--
extra : rebase_source : 57ae41aa2e7d514dc8f3f3d79d3d1946a407c4ac
2015-07-09 16:54:59 -07:00
Nicholas Nethercote 240d180d7f Bug 1181445 (part 5) - Use nsTHashTable::Iterator in nsTHashtable.h. r=mccr8.
This is a particularly nice example of how iterators can be so much nicer than
Enumerate()-style functions:

  1 file changed, 4 insertions(+), 33 deletions(-)

--HG--
extra : rebase_source : 757f75b90cb4c624143c236f9743edf158f72d66
2015-07-09 16:54:59 -07:00
Nicholas Nethercote 35b8916e86 Bug 1181445 (part 4) - Use nsTHashTable::Iterator in nsCategoryManager. r=froydnj.
--HG--
extra : rebase_source : dd2ca157bf07f49a25d501986d3338e0f525348f
2015-07-09 16:54:58 -07:00
Nicholas Nethercote 8626fc2a98 Bug 1181445 (part 3) - Use nsTHashTable::Iterator in nsObserverService. r=froydnj.
--HG--
extra : rebase_source : 1bbbc86315455a5af29d34c80feac2f206d7d9f2
2015-07-09 16:49:32 -07:00
Nicholas Nethercote e4c39dc6c4 Bug 1181445 (part 2) - Use nsTHashTable::Iterator in nsMemoryReporterManager. r=froydnj.
--HG--
extra : rebase_source : 038b7ee151880d57066024d940fa112ee282a995
2015-07-08 22:32:39 -07:00
Nicholas Nethercote b37d03af49 Bug 1181445 (part 1) - Implement iterators for nsTHashtable and nsBaseHashtable. r=froydnj.
nsBaseHashtable has both EnumerateRead() and Enumerate(). A comment claims that
the latter locks the table, but this is false, so I removed the comment. Other
than that the only notable difference between them is that they have slightly
different types for dealing with values (|UserDataType| vs |DataType&|) so I've
implemented both GetUserData() and GetData(), allowing either type to be used.

--HG--
extra : rebase_source : 9d61cc8f4c14082c9f1939ff3ced2b697e043f42
2015-07-07 20:47:59 -07:00
Jim Mathies 9a5c8328b9 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05:00
Randell Jesup 238677c2c0 Bug 1155059: Patch 3&7 - fix leaks in Promise, ConsoleService and JS Finalize r=froydnj 2015-07-09 23:21:46 -04:00
Randell Jesup f5e826fd1d Bug 1155059: Patch 4 - invoke NS_ASSERTION if DispatchToMainThread fails to get MainThread ptr r=froydnj 2015-07-09 23:21:46 -04:00
Randell Jesup c87c478f4f Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj
Modify Dispatch IDL and code to deal with MSVC issues with overloaded templates r=froydnj
2015-07-09 23:21:46 -04:00
Randell Jesup 89e710906c Bug 1155059: Patch 0 - add do_AddRef() r=froydnj 2015-07-09 23:21:46 -04:00
Mike Hommey 7fdec3adb1 Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-10 09:56:05 +09:00
Randell Jesup 78f6d80fa0 Bug 1178890: Update timer arrays after sleep to account for time sleeping r=bwc,froydnj 2015-07-09 20:18:34 -04:00
Nathan Froyd 0e1fa707ed Bug 1151506 - move nsIInterfaceInfo::isMainProcessScriptable to the end of the interface's vtable; r=dbaron
Adding isMainProcessScriptable() into the middle of nsIInterfaceInfo
caused problems with some binary addons that relied on the ordering of
the methods in nsIInterfaceInfo.  In an attempt to placate those addons,
move isMainProcessScriptable() to the end of the vtable.  This change is
a no-op for normal libxul usage.
2015-06-29 10:28:14 -04:00
Nicholas Nethercote f976bf5495 Bug 1179071 - Merge RemovingIterator into Iterator. r=froydnj.
The original motivation for the Iterator/RemovingIterator split was that
PLDHashTable Checker class would treat them differently. But that didn't end up
happening (see bug 1131308). So this patch merges them. This is a small code
size win now but it will become bigger when I add iterators to nsTHashTable and
nsBaseHashtable.

The only complication is that PLDHashTable::Iter() is now non-const, which is
a problem if you use it in a const method. So I added PLDHashTable::ConstIter()
which is used in just two places. It's a bit of a hack -- effectively a
const_cast -- but I don't think it's too bad.
2015-07-06 22:02:26 -07:00
Nicholas Nethercote dcf64eb59b Bug 1180084 - Convert TestPLDHash.cpp to a gtest. r=froydnj.
The switch to unsigned integer constants (e.g. "0u") are necessary to avoid
compiler warnings about signed/unsigned comparisons.

--HG--
rename : xpcom/tests/TestPLDHash.cpp => xpcom/tests/gtest/TestPLDHash.cpp
extra : rebase_source : e159d6444581fd0063c5274419ac2126a94607bf
2015-07-07 17:54:03 -07:00
Birunthan Mohanathas 30fedff9e1 Bug 968520 - Add nsTArray::Assign. r=froydnj 2015-07-07 11:27:03 -07:00
Dragana Damjanovic 7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Robert O'Callahan 4ac8503958 Bug 1143575. Avoid use of COMPARE macro which can clash with Android headers. r=bent
--HG--
extra : commitid : G02N9VidCk7
extra : rebase_source : a2a3bba44ef2b8765432e06d32ee4a811c9954fd
2015-06-07 12:26:40 +03:00
Nicholas Nethercote b6a6d26147 Bug 1180072 - Remove PL_DHashTableEnumerate(). r=froydnj.
It's no longer used, and the Iterator classes are much nicer. Yay.
2015-06-18 22:19:10 -07:00
Bill McCloskey 43786e09b5 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-06 19:58:44 -07:00
Nicholas Nethercote bdb164e9fd Bug 1131308 (part 1) - Improve PLDHashTable's internal checking. r=froydnj.
--HG--
extra : rebase_source : 7801b437c2b9a82de90914a67e80acabba81570b
2015-05-20 23:11:35 -07:00
Nicholas Nethercote 4a9000e192 Bug 1131308 (part 0) - Fix minor problems with RemovingIterator. r=froydnj.
- Its move constructor was moving |aOther.mTable| instead of |aOther|. This
  meant that |aOther| wasn't being zeroed out appropriately.

- test_pldhash_RemovingIterator() was testing Iterator's move constructor
  instead of RemovingIterator's move constructor, due to a copy/paste
  mistake.

--HG--
extra : rebase_source : 1f4880893875218ddb155c76d329e84d884c0432
2015-07-05 17:49:44 -07:00
Gabriele Svelto 17358b10b8 Bug 858928 - Switch XRE_StartupTimelineRecord() from PRTime to TimeStamp. r=froydnj
--HG--
extra : rebase_source : b39bf19f68a124cefaf5ceac2adccb20e05bf279
2015-07-06 18:01:09 +02:00
Andrea Marchesini b6e7f5efcf Bug 1171603 - Better size check in nsTSubstring::ReplacePrep. r=ehsan
--HG--
extra : rebase_source : a42342c8f82cb00e1e1b9b9673fc1e290fb9cf23
2015-07-06 14:27:35 -04:00
Fabrice Desré 6929a81516 Bug 1180533 - Disable BackgroundHangMonitor on gonk 2015-07-05 18:30:51 -07:00
Juan Gomez 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Phil Ringnalda 166cfe8460 Back out 12 changesets (bug 1177013) on suspicion of causing b2g emulator debug test bustage
CLOSED TREE

Backed out changeset 912aae0815f8 (bug 1177013)
Backed out changeset 3b6448172e50 (bug 1177013)
Backed out changeset 2af18bef5703 (bug 1177013)
Backed out changeset e6bf35115c11 (bug 1177013)
Backed out changeset 4d7f5205b60b (bug 1177013)
Backed out changeset f7de893911bc (bug 1177013)
Backed out changeset de79eba232f0 (bug 1177013)
Backed out changeset 978a77b60f2a (bug 1177013)
Backed out changeset f5b52fa19511 (bug 1177013)
Backed out changeset e14a7b70b6fa (bug 1177013)
Backed out changeset d0f5a3474659 (bug 1177013)
Backed out changeset bff9f07dad52 (bug 1177013)
2015-07-02 22:08:54 -07:00
Bill McCloskey 72a845c0e6 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-02 17:18:10 -07:00
Nicholas Nethercote 059c658d95 Bug 1179657 - Remove PL_DHASHMETER. r=froydnj.
Because it's totally busted and not a very good way of getting that kind of
statistics.
2015-07-01 22:59:53 -07:00
Hamzata Diallo 3f61ec7708 Bug 1178513 - Export libxul symbols needed by ACL. r=mattwoodrow
--HG--
extra : rebase_source : 77ebb8e1195c0e2570dbf5dbee54edfa5ecdab28
2015-07-02 15:19:35 -07:00
Ryan VanderMeulen 3b445a4a38 Backed out changeset 97c7e83acb6b (bug 1171603) for Windows Werror bustage.
CLOSED TREE
2015-07-02 15:33:10 -04:00
Andrea Marchesini 9368a3d589 Bug 1171603 - Better size check in nsTSubstring::ReplacePrep. r=ehsan
--HG--
extra : rebase_source : 608ecb648abaebc7e8c78870e14c406027f1d2cb
2015-07-02 14:51:42 -04:00
Boris Kudryavtsev 027e60563e Bug 1155968 - Fix variable use before initialization. r=khuey 2015-06-02 12:17:00 +02:00
Boris Kudryavtsev 50bd38bd38 Bug 1155968 - Fix correct number of empty lines between objects to comply with PEP8. r=khuey 2015-05-20 21:56:00 +02:00
Boris Kudryavtsev f75453e666 Bug 1155968 - Fix indentation warnings to comply with PEP8. r=khuey 2015-05-20 21:55:00 +02:00
Boris Kudryavtsev 13d9229e12 Bug 1155968 - Whitespace fixes in xpidl.py to comply with PEP8. r=khuey 2015-05-16 12:18:00 +02:00
Boris Kudryavtsev fa8c2b1b78 Bug 1155968 - Change '==' and '!=' to 'is' and 'is not' to comply with PEP8. r=khuey 2015-05-14 19:50:00 +02:00
Boris Kudryavtsev baaa8b054e Bug 1155968 - Correct indent not multiple of 4. r=khuey 2015-05-12 18:41:00 +02:00
Boris Kudryavtsev 26a5f1e8dc Bug 1155968 - Remove semicolons at ends of statements (PEP8). r=khuey 2015-05-09 12:38:00 +02:00
Boris Kudryavtsev b24932ea8e Bug 1155968 - Move statements to their own lines. r=khuey 2015-05-05 17:24:00 +02:00
Boris Kudryavtsev dc76fa3749 Bug 1155968 - Whitespace changes in header.py and runtests.py. r=khuey 2015-05-04 22:45:00 +02:00
Boris Kudryavtsev 8f40bd3325 Bug 1155968 - Remove trailing whitespace in header.py. r=khuey 2015-05-04 22:41:00 +02:00
Boris Kudryavtsev 5562b1dcb8 Bug 1155968 - Add blank lines where needed in xpcom/idl-parser. r=khuey 2015-05-04 22:35:00 +02:00
Boris Kudryavtsev ec7138788a Bug 1155968 - Place imports on separate lines. r=khuey 2015-05-04 22:34:00 +02:00
William Chen e2a8b6bfa3 Bug 1178513 - Add <extapp> element and interfaces to be used by ACL. r=khuey
--HG--
extra : rebase_source : 988379e48f84c04bcac181a6fc4c71325e3f0b02
2015-06-30 11:27:57 -07:00
Nathan Froyd 8b000ee8d1 Bug 1174344 - make error message for mismatched leak log entries more helpful; r=mccr8 2015-06-29 16:36:32 -04:00
Mike Hommey f2057d31b4 Backout changeset f70b74488807 (bug 833117) for gtest bustage on Linux 2015-07-01 16:41:20 +09:00
Mike Hommey 6535b630b6 Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-01 15:29:46 +09:00
Ryan VanderMeulen faaac1a61d Backed out changeset 37bee149c935 (bug 968520) for checktest failures. 2015-06-30 15:47:18 -04:00
Birunthan Mohanathas ebd21e20f1 Bug 968520 - Add nsTArray::Assign. r=froydnj 2015-06-30 11:16:03 -07:00
Jan de Mooij 976586cb5f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Wes Kocher b4ebe3c719 Merge m-c to inbound, a=merge 2015-06-29 17:28:20 -07:00
ffxbld 264ecae3ce Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-06-29 13:34:04 -07:00
Ryan VanderMeulen 872107fe72 Backed out changeset a1089f3645fc (bug 1151506) because it didn't fix the crashes it was intended to. a=lizzard 2015-06-29 14:53:55 -04:00
Nicholas Nethercote 459a5b589b Bug 1176163 - Remove remaining uses of PL_DHashTableEnumerate() from xpcom/. r=froydnj.
--HG--
extra : rebase_source : 5e79d10647c138a28370d36d28a1c1227af8167b
2015-06-18 18:09:37 -07:00
David Major d15cf4043f Bug 1151506: Work around broken binary callers of xptiInterfaceInfo. r=froydnj
--HG--
extra : rebase_source : 7a27a2da649ab44113525dec7f2ea365688c1c81
2015-06-26 10:33:44 -07:00
Nathan Froyd 2c8aa84236 Bug 1178317 - eliminate large static constructor from ShimInterfaceInfo.cpp; r=poiru
Constructing kComponentsInterfaceShimMap required a static constructor
on some compilers, due to a non-constexpr constructor and the necessity
of copying non-constexpr things like nsIID.  This static constructor is
large (several kilobytes of object code on x86-64) and completely
unnecessary.

To fix this, let's add a constexpr (well, MOZ_CONSTEXPR) constructor to
ComponentsInterfaceShimEntry.  This change alone doesn't completely
solve our problem, because the nsIID member still needs to be copied.
But doing that copying is silly: we only use the IID for constructing a
ShimInterfaceInfo in ShimInterfaceInfo::MaybeConstruct, and the
ShimInterfaceInfo constructor takes a const reference.  So let's store a
const reference in ComponentsInterfaceShimEntry, too, and make that
structure significantly smaller in the process.
2015-06-29 10:59:59 -04:00
Nathan Froyd 4d01d51096 Bug 1178363 - make nsTimerImpl::GetGeneration a private method; r=poiru
Since GetGeneration() is only called by nsTimerEvent, it doesn't need to
be public.
2015-06-29 13:09:11 -04:00
Nathan Froyd ed7e987ecb Bug 1178363 - make nsTimerImpl::PostTimerEvent a private method; r=poiru
PostTimerEvent is only called by the timer thread, which is already able
to access private members of nsTimerImpl; there's no reason for
PostTimerEvent to be public.
2015-06-29 10:33:30 -04:00
Nathan Froyd 889fc1ad61 Bug 1178363 - make MOZ_TASK_TRACER-dependent bits of nsTimerImpl private; r=poiru
GetTracedTask() is only called from nsTimerImpl itself, so it doesn't
need to be public.  GetTLSTraceInfo() is called from the timer thread,
which has access to our private members already.
2015-06-18 12:02:23 -04:00
Nathan Froyd 4fea06a3a3 Bug 1178363 - make nsTimerImpl::Fire a private method; r=poiru
This method is only called by nsTimerEvent, which is an implementation
detail of nsTimerImpl.
2015-06-18 12:00:56 -04:00
Nathan Froyd 22b75ae28f Bug 1178363 - make nsTimerImpl::SetDelayInternal a private method; r=poiru
Nothing outside nsTimerImpl uses it, and with a name like
"SetDelayInternal", nothing should.
2015-06-17 21:40:18 -04:00
Ryan VanderMeulen 5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez 702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
David Major 17a51c4514 Bug 1151506 - Null-check the count parameter in GetConstantCount. r=froydnj 2015-06-24 09:07:11 -07:00
Chris Peterson cd8ae89cff Bug 1175049 - Fix non-universal 32-bit build on OS X with Xcode 6.3 tools. r=josh 2015-06-14 00:20:27 -07:00
Bill McCloskey a2c6c7d4bf Bug 1143006 - Show warning for http-on-* in child process (r=mrbkap) 2015-06-19 17:35:06 -07:00
Benoit Girard 8d6a67f6d3 Bug 1172216 - Move nsStackwalk to mozglue. r=glandium
--HG--
rename : xpcom/base/nsStackWalk.cpp => mozglue/misc/StackWalk.cpp
rename : xpcom/base/nsStackWalk.h => mozglue/misc/StackWalk.h
extra : commitid : EMbWGfjKvdq
extra : rebase_source : b7308eb569cc1a019d3b7a92aaff0de7a49b5682
2015-06-10 16:32:45 -04:00
Benoit Girard 2c6df6a9a9 Bug 858927 - Move the mozilla::TimeStamp into mozglue. r=glandium
--HG--
rename : xpcom/ds/TimeStamp.cpp => mozglue/misc/TimeStamp.cpp
rename : xpcom/ds/TimeStamp.h => mozglue/misc/TimeStamp.h
rename : xpcom/ds/TimeStamp_darwin.cpp => mozglue/misc/TimeStamp_darwin.cpp
rename : xpcom/ds/TimeStamp_posix.cpp => mozglue/misc/TimeStamp_posix.cpp
rename : xpcom/ds/TimeStamp_windows.cpp => mozglue/misc/TimeStamp_windows.cpp
rename : xpcom/ds/TimeStamp_windows.h => mozglue/misc/TimeStamp_windows.h
extra : commitid : 2MSXRaRzXEd
extra : rebase_source : 45ded19677e8557deb3b9203777656f5a13f6c04
2015-06-05 16:03:11 -04:00
Ryan VanderMeulen bb011905c4 Bug 704368 - Re-enable test_nsIProcess_stress.js on Linux64 debug.
--HG--
extra : amend_source : 901edc75c301857b2eaa094920cf410f336003a0
2015-06-18 11:28:51 -04:00
Carsten "Tomcat" Book 78ccc28817 merge mozilla-inbound to mozilla-central a=merge 2015-06-18 15:13:19 +02:00
Tom Tromey 0b980d99e6 Bug 1159507 - make allocation times consistent with timeline; r=fitzgen,mccr8 2015-06-17 13:01:27 -07:00
Nicholas Nethercote 0d28f19c4a Bug 1173600 (part 3) - Add PLDHashTable::RemovingIterator. r=froydnj.
--HG--
extra : rebase_source : 1158e03a699987e366b46b9e045613f6b9fe1a59
2015-06-10 17:04:07 -07:00
Nicholas Nethercote fb490785c1 Bug 1173600 (part 2) - Move post-enumeration shrinking code into its own function. r=froydnj.
This will allow it to be re-used by the removing iterator class.

--HG--
extra : rebase_source : 2bdd33427894c291aa507469628a3ba99b80c568
2015-06-10 16:36:02 -07:00
Nicholas Nethercote e8172cd960 Bug 1173600 (part 1) - Tweak PLDHashTable post-enumeration shrinking. r=froydnj.
This patch factors out the existing capacity calculation code in HashShift()
into a new function called BestCapacity(), and then reuses it for
post-enumeration shrinking.

BestCapacity() computes capacity with |CeilingLog2(ceil(length * 4 / 3))|,
which ensures a minimum capacity while respecting the "max 75% full" and
"capacity is a power of two" constraints. In contrast, the old post-enumeration
shrink calculation was |CeilingLog2(length + length/2)|, which gives higher
results in some cases. (Both calculations also ensured the capacity wasn't too
small.) E.g. if length is 48, the former calculation will give 64, while the
latter will give 128.

Therefore, post-enumeration shrinking will no longer give a
larger-than-necessary capacity some cases. This feels like the right thing to
do in isolation, and making it consistent with HashShift() -- used during table
construction -- is also good.

--HG--
extra : rebase_source : 55e982b601c345d10da7abd03a13aec3f5b61598
2015-06-10 13:54:06 -07:00
Boris Zbarsky 075355a9e5 Bug 1175601. Make nsIFile.getRelativeDescriptor work with paths with paths with arbitrary numbers of segments, not just 32. r=froydnj 2015-06-17 16:17:22 -04:00
Boris Zbarsky bf8f45932e Bug 1175600. Add getRelativePath/setRelativePath to nsIFile. r=froydnj 2015-06-17 16:17:20 -04:00
Nicholas Nethercote e94846adea Bug 11746250 (follow-up) - Fix link errors on Linux and Android. r=me. 2015-06-16 23:48:53 -07:00
Nicholas Nethercote a1b715b5df Bug 1174625 - Overhaul PLDHashTable's iterator. r=froydnj.
This change splits PLDHashTable::Iterator::NextEntry() into two separate
functions, which allow you to get the current element and advance the iterator
separately, which means you can use a for-loop to iterate instead of a
while-loop.

As part of this change, the internals of PLDHashTable::Iterator were
significantly changed and simplified (and modelled after js::HashTable's
equivalent code). It's no longer duplicating code from PL_DHashTableEnumerator.
The chaos mode code was a casualty of this, but given how unreliable that code
has proven to be (see bug 1173212, bug 1174046) this is for the best. (We can
reimplement chaos mode once PLDHashTable::Iterator is back on more solid
footing again, if we think it's important.)

All these changes will make it much easier to add an alternative Iterator that
removes elements, which was turning out to be difficult with the prior code.

In order to make the for-loop header usually fit on a single line, I
deliberately renamed a bunch of things to have shorter names.

In summary, you used to write this:

  PLDHashTable::Iterator iter(&table);
  while (iter.HasMoreEntries()) {
    auto entry = static_cast<FooEntry*>(iter.NextEntry());
    // ... do stuff with |entry| ...
  }
  // iter's scope extends beyond here

and now you write this:

  for (auto iter = table.Iter(); !iter.Done(); iter.Next()) {
    auto entry = static_cast<FooEntry*>(iter.Get());
    // ... do stuff with |entry| ...
  }
  // iter's scope doesn't reach here

--HG--
extra : rebase_source : fa5cac2fc50b1ab7624030bced4763131280f4d8
2015-06-11 21:19:53 -07:00
Andrew McCreight e7103d0010 Bug 1174796 - Make sure ReleaseNow releases everything. r=smaug 2015-06-16 14:19:07 -07:00
Shelly Lin 4eff0a1842 Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker
--HG--
extra : rebase_source : b5e012fb6570e87270a0924fbe395dc56e6242ec
2015-06-16 10:57:19 +08:00
Wes Kocher 6eeeb31ce1 Merge m-c to inbound, a=merge 2015-06-15 18:34:29 -07:00
Boris Zbarsky 3437c1a714 Bug 1174486 part 4. Stop reporting exceptions in nsJSUtils::EvaluateString and have its consumers use AutoJSAPIs that take ownership of error reporting instead. r=bholley 2015-06-15 20:11:06 -04:00
Ryan VanderMeulen e1c356ee7a Merge m-c to fx-team. a=merge 2015-06-15 15:59:05 -04:00
Florian Quèze 46202ff411 Bug 1109354 - prefer Firefox default engines over profile-installed plugins with the same name, r=markh.
--HG--
extra : rebase_source : cdf4cb2b3969a9ac797f61c3f0b4f081353582e4
2015-06-15 18:32:09 +02:00
Terrence Cole 7afa7dfb04 Bug 1173889 - Strongly type the CallbackTracer dispatch function; r=jonco, r=mccr8
--HG--
extra : rebase_source : 413319f0701f8e92b8fc1c79a51f4a09c2c5cd39
2015-06-11 10:03:33 -07:00
Ted Mielczarek e334ff0faa bug 1171574 - XPCOMGlue doesn't need LEADING_UNDERSCORE for iOS. r=froydnj
--HG--
extra : commitid : LBrmqR9ER7F
extra : rebase_source : 4eae25899a0a82b1e09be04570fab7927ca0354a
2015-02-10 15:36:37 -05:00
Ted Mielczarek 2599be2191 bug 1171125 - Fix nsStackWalk to build for iOS. r=froydnj
--HG--
extra : commitid : 611nBr14g2p
extra : rebase_source : e2a00b1ed8048fcb04732c3225e3fe938247b0d3
2015-02-04 10:50:10 -05:00
Ted Mielczarek 5ad09caf62 bug 1171124 - Swap some XP_MACOSX for XP_DARWIN in nsLocalFileUnix. r=froydnj
--HG--
extra : commitid : 3q0r3528Awn
extra : rebase_source : 2e959724508569d186623ab88b8b532e539caaba
2015-02-04 10:49:45 -05:00
Ted Mielczarek 572d721921 bug 1170586 - Make TimeStamp::FromSystemTime available on iOS. r=froydnj
--HG--
extra : commitid : 6y2iIFXPKyP
extra : rebase_source : 7c8e19589f5c005ff3c4c2f4158f1ac04394c269
2015-01-30 15:32:48 -05:00
Ted Mielczarek 407aefe079 bug 1170585 - Don't try to build IO Poisoning on iOS. r=froydnj
--HG--
extra : commitid : HsQHFJ8l0Sd
extra : rebase_source : 065c73006250b5db82987cb0d42bf04be7e0648c
2015-02-27 12:38:27 -05:00
Nicholas Nethercote d2a5b36906 Bug 1174046 - Fix PLDHashTable::Iterator in chaos mode again. r=froydnj.
If you use PLDHashTable::Iterator in chaos mode with a table with zero
capacity, a |% 0| operation takes place in randomUint32LessThan. This change
avoids that.

--HG--
extra : rebase_source : 85f2affb57c2402f40f3d117434b8300e7f204b7
2015-06-11 18:23:26 -07:00
Nicholas Nethercote ea80354c08 Bug 1172782 - Change how nsTHashtable::Clear() works. r=froydnj.
This change reimplements nsTHashtable::Clear() using PLDHashable::Clear(). This
changes its semantics slightly -- the old version would clear the table but
leave its capacity unchanged. The new version will adjust the capacity
to the default, though the entry storage will only be re-allocated when the
first new element is added.
2015-06-10 13:07:40 -07:00
Eric Rahm ae0305135a Bug 1171722 - Part 4: Don't warn if DebuggerOnGCRunnable::Enqueue fails during shutdown. r=mccr8 2015-06-10 21:31:35 -07:00
Nicholas Nethercote 977758d61c Bug 1172761 (part 2) - Remove PL_DHashTableEnumerator use from nsPersistentProperties. r=froydnj.
The old code attempted to deal with any OOMs during this enumeration --
OOMs are possible because it's growing an nsCOMArray -- but failed to do so
correctly.

- It didn't check the return value of AppendObject().

- It did check that EntryCount() matched the return value of
  PL_DHashTableEnumerate(), but that's always (and vacuously) true.

The new code just returns NS_ERROR_OUT_OF_MEMORY if AppendObject() fails; this
is trivial now that it uses an iterator and doesn't have to call out to another
function.
2015-06-10 13:07:40 -07:00
Nicholas Nethercote 97aa68b77f Bug 1172761 (part 1) - Remove PL_DHashTableEnumerator use from nsAtomTable. r=froydnj.
--HG--
extra : rebase_source : 54fc0b6e09fe55a879212e666a682eaf76ab4f7b
2015-06-10 13:07:40 -07:00
Birunthan Mohanathas 3aad780da9 Bug 968520 - Always require fallible argument with FallibleTArray calls. r=froydnj 2015-06-10 14:30:41 -07:00
Nick Fitzgerald 6e561802a9 Bug 1141614 - Part 3: Trace cycle collection with AutoGlobalTimelineMarker; r=smaug 2015-06-10 14:05:53 -07:00
Nicholas Nethercote b9657718d7 Bug 1173212 (part 2) - Make PLDHashTable::Iterator work in chaos mode. r=froydnj.
Iterator::NextEntry() miscomputes |entryLimit|. This doesn't matter in
non-chaos mode because we'll always find a live entry before hitting that
limit. But it does matter in chaos mode because it means we don't wrap around
when we should.

It's clear how this mistake was made -- the code from Enumerate() was copied.
In Enumerate() |mEntryStore| and |entryAddr| are the same when |entryLimit| is
computed, so you can use them interchangeably. But in NextEntry() |mEntryAddr|
will have moved past |mEntryStore|, so you have to use |mEntryStore|. I changed
both functions in the same way to keep the correspondence between them obvious.

--HG--
extra : rebase_source : f27558b3179be394526d1c3f82ffbae0fb58b2b9
2015-06-10 12:47:18 -07:00