Birunthan Mohanathas
46db3a10bb
Bug 968520 - Add fallible variants of nsTArray::InsertElementsAt. r=froydnj
2015-05-18 13:50:34 -07:00
Birunthan Mohanathas
57b1194dc2
Bug 968520 - Add fallible variant of nsTArray::SetCapacity. r=froydnj
2015-05-18 13:50:34 -07:00
Birunthan Mohanathas
ed7aa96d0a
Bug 968520 - Explicitly specify the allocator for nsTArray_base functions. r=froydnj
2015-05-18 13:50:34 -07:00
Gerald Squelart
5847857dc8
Bug 1153295 - Unit tests. r=nfroyd
2015-04-27 18:40:00 -04:00
Gerald Squelart
2b1b8b1729
Bug 1153295 - Select StorensRefPtrPassPtr for types with AddRef and Release methods. r=nfroyd
2015-04-26 04:52:00 -04:00
Gerald Squelart
f330df40d4
Bug 1153295 - Add mozilla::Declval. r=nfroyd
2015-04-27 18:11:00 -04:00
Nicholas Nethercote
a369149681
Bug 1165206 - Tweak nsTHashtable's move constructor. r=froydnj.
...
The SetOps() call is no longer necessary now that PLDHashTable has a move
constructor.
This change originally landed in one of the patches from bug 1161377, which was
subsequently backed out.
2015-05-15 20:06:03 -07:00
Nicholas Nethercote
eab9ff6d25
Back out all four patches from bug 1161377. r=me.
...
Due to Android startup regressions (bug 1163066) and plugin crashes (bug
1165155).
--HG--
extra : rebase_source : 380f79e67dff4c4eaa2614f286a4d0669666b652
2015-05-14 21:48:43 -07:00
Ganesh Sahukari
b5a3345900
Bug 1155643 - Removed nsIDebug.idl, moved methods of nsIDebug to nsIDebug2. r=paolo
2015-05-07 10:58:37 +05:30
Mike Hommey
c917606f95
Bug 1043692 - Move DIST_INSTALL to moz.build. r=gps
2015-05-12 07:55:22 +09:00
Mike Hommey
8a1bd09c71
Bug 1162779 - Move NO_EXPAND_LIBS to moz.build. r=mshal
2015-05-12 07:26:42 +09:00
Steve Fink
087775cc19
Bug 1162310 - Do not use nonexistent macro when XGILL_PLUGIN is defined, r=bhackett
...
--HG--
extra : rebase_source : 9c9942690f4942d94ae0222168be7e00a352dc69
2015-05-07 09:49:41 -07:00
Nicholas Nethercote
77943547dc
Bug 1161377 (part 2) - Remove PL_NewDHashTable() and PL_DHashTableDestroy(). r=froydnj.
...
They're not needed now that there is an initializing constructor and a
destructor.
2015-05-04 22:59:24 -07:00
Nicholas Nethercote
7c500c6bcc
Bug 1161377 (part 1) - Add an initializing constructor and destructor to PLDHashTable. r=froydnj.
...
The destructor is "opt-in" -- there's a flag that makes it a no-op unless the
table was initialized with the initializing constructor. This will allow us to
incrementally convert existing tables from manual to automatic
initialization/finalization. This is important because some of the existing
uses are tricky (impossible?) to convert to the automatic style.
2015-05-04 22:59:02 -07:00
Birunthan Mohanathas
92a2adb3e6
Bug 819090 - Remove nsVoidArray.{cpp,h}. r=froydnj
2015-05-06 10:57:41 -07:00
Nicholas Nethercote
db496a806e
Bug 1160436 - Fix PLDHashTable::operator=. r=froydnj.
...
This fixes the following problems with PLDHashTable::operator=:
- It doesn't handle self-assigments.
- It leaks the memory used by the assigned-to table.
- It doesn't leave the assigned-from table in a safely destructable state.
--HG--
extra : rebase_source : 433ac3418c00e3bb6d376982e4c679d27e42a377
2015-05-03 17:04:07 -07:00
Nicholas Nethercote
c8ff2d51c8
Bug 1159972 - Remove the fallible version of PL_DHashTableInit(). r=froydnj.
...
It's no longer needed now that entry storage isn't allocated there. (The other
possible causes of failures in that function are less interesting and simply
crashing is a reasonable thing to do for them.)
This also makes PL_DNewHashTable() infallible, so I removed some
now-unnecessary checks of its result.
--HG--
extra : rebase_source : 4c6ab0c449bc18e8bace8bf036b5bd78d3a2f1c4
2015-04-29 16:38:29 -07:00
Nathan Froyd
a494081079
Bug 1159306 - explicitly initialize nsBaseHashtableET::mData; r=erahm
...
mData will get automatically constructed when DataType is a class or
struct with a default constructor, but a number of uses of
nsBaseHashtable use integer or pointer types as DataType. Explicitly
initialize mData so that it looks as though we're fully initializing the
class in such cases.
2015-04-28 12:12:36 -04:00
Nathan Froyd
73b20a0500
Bug 1159304 - silence Coverity warning about implicit conversion issues in ReadAheadLib; r=erahm
2015-04-28 12:10:37 -04:00
Nathan Froyd
265eedb594
Bug 1159302 - handle ftell errors in nsINIParser::InitFromFile; r=erahm
2015-04-28 12:09:31 -04:00
Matt Woodrow
18b4767b02
Bug 1156966 - Avoid writing 0's to mEmptyHdr in nsTArray since it triggers TSan warnings. r=nfroyd
...
--HG--
extra : rebase_source : b6e69723f378d73dc74c301b077618aaafda905a
2015-04-28 17:57:15 +12:00
Nathan Froyd
44bbcc3afa
Bug 1158772 - fix non-idiomatic memset call in nsDeque.cpp; r=erahm
...
Coverty complains that we're using sizeof(mData) here instead of
sizeof(*mData). They're equivalent for all the architectures we care about,
but go ahead and tidy up the syntax to silence the static analyzer.
2015-04-27 07:55:32 -04:00
Cervantes Yu
4f02100ffd
Backed out 2 changesets (bug 1138620
)
...
Backed out changeset e60b4b01c05d (bug 1138620
)
Backed out changeset 52d49dd25d6d (bug 1138620
)
2015-04-24 15:05:44 +08:00
Jan de Mooij
103a223716
Bug 1155946 part 1 - Add a mayResolve class hook to optimize objects with resolve hooks better. r=bhackett
2015-04-23 15:51:28 +02:00
Carsten "Tomcat" Book
bab9dbe9c4
Backed out 19 changesets (bug 1149397, bug 1065657, bug 1024774
) for fixing Linux PGO xpcshell bustage on a CLOSED TREE
...
Backed out changeset 53058615e7a3 (bug 1024774
)
Backed out changeset 68fe0894bb09 (bug 1065657)
Backed out changeset 1b9620d674df (bug 1024774
)
Backed out changeset a31c514b59da (bug 1024774
)
Backed out changeset 0fcf8757f6c2 (bug 1024774
)
Backed out changeset 9a3c71b925d4 (bug 1024774
)
Backed out changeset 783acc92af04 (bug 1024774
)
Backed out changeset ad71c9a3446b (bug 1024774
)
Backed out changeset 4f37e72e70f6 (bug 1024774
)
Backed out changeset ec869578cc0a (bug 1024774
)
Backed out changeset 3c1d306c8a3d (bug 1024774
)
Backed out changeset b3a90f30892d (bug 1024774
)
Backed out changeset cf7bbb3774c0 (bug 1024774
)
Backed out changeset 2522eb4d3cf2 (bug 1024774
)
Backed out changeset 89a502d88f9c (bug 1024774
)
Backed out changeset 61046ad3161f (bug 1024774
)
Backed out changeset 36706aaa2f06 (bug 1024774
)
Backed out changeset ba8e68e05149 (bug 1149397)
Backed out changeset 532169437c2f (bug 1065657)
--HG--
rename : toolkit/components/protobuf/src/google/protobuf/extension_set.cc => toolkit/components/protobuf/google/protobuf/extension_set.cc
rename : toolkit/components/protobuf/src/google/protobuf/extension_set.h => toolkit/components/protobuf/google/protobuf/extension_set.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h => toolkit/components/protobuf/google/protobuf/generated_message_util.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/stringprintf.h => toolkit/components/protobuf/google/protobuf/generated_message_util.h
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream.cc => toolkit/components/protobuf/google/protobuf/io/coded_stream.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream.h => toolkit/components/protobuf/google/protobuf/io/coded_stream.h
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream_inl.h => toolkit/components/protobuf/google/protobuf/io/coded_stream_inl.h
rename : toolkit/components/protobuf/src/google/protobuf/io/package_info.h => toolkit/components/protobuf/google/protobuf/io/package_info.h
rename : toolkit/components/protobuf/src/google/protobuf/service.cc => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.h
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl.h
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/message_lite.cc => toolkit/components/protobuf/google/protobuf/message_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/message_lite.h => toolkit/components/protobuf/google/protobuf/message_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/package_info.h => toolkit/components/protobuf/google/protobuf/package_info.h
rename : toolkit/components/protobuf/src/google/protobuf/repeated_field.cc => toolkit/components/protobuf/google/protobuf/repeated_field.cc
rename : toolkit/components/protobuf/src/google/protobuf/repeated_field.h => toolkit/components/protobuf/google/protobuf/repeated_field.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/common.cc => toolkit/components/protobuf/google/protobuf/stubs/common.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/common.h => toolkit/components/protobuf/google/protobuf/stubs/common.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/hash.h => toolkit/components/protobuf/google/protobuf/stubs/hash.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/once.cc => toolkit/components/protobuf/google/protobuf/stubs/once.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/once.h => toolkit/components/protobuf/google/protobuf/stubs/once.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/stl_util.h => toolkit/components/protobuf/google/protobuf/stubs/stl_util-inl.h
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite.cc => toolkit/components/protobuf/google/protobuf/wire_format_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite.h => toolkit/components/protobuf/google/protobuf/wire_format_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite_inl.h => toolkit/components/protobuf/google/protobuf/wire_format_lite_inl.h
2015-04-23 08:37:24 +02:00
Nick Fitzgerald
5689b01c3a
Bug 1024774
- Part 9: Deserialize heap snapshots; r=jimb
2015-04-22 11:09:54 -07:00
Nathan Froyd
ff82112704
Bug 1156790 - mark various nsCOMPtr_helper-esque classes as final; r=mccr8
2015-04-20 16:58:15 -04:00
Andrea Marchesini
ade2831035
Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan
2015-04-22 08:29:24 +02:00
Ehsan Akhgari
399276d5fc
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00
Wes Kocher
638b28b8e0
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Wes Kocher
10b0765a42
Merge m-c to inbound a=merge
...
--HG--
extra : rebase_source : 65e706214cf534170bf6cfe658eb394c0195cb81
2015-04-21 15:35:07 -07:00
Wes Kocher
b6e78e87bc
Merge b2ginbound to m-c a=merge
2015-04-21 15:31:59 -07:00
Ehsan Akhgari
3d21a05904
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00
Ehsan Akhgari
f9d798bcbd
Bug 1156030 - Remove some obsolete static assertion macros from the tree; r=Waldo
2015-04-21 14:22:43 -04:00
Botond Ballo
a24a854eb7
Bug 1156538 - Make nsTArray's move constructor implicit. r=froydnj
...
--HG--
extra : rebase_source : bbb820eb9078be5602496839aabcf8d400c8c806
extra : source : 76e5eb202aa0e3680c19b84ccaf3a0eea83e41ef
2015-04-20 18:42:56 -04:00
Ehsan Akhgari
9646e11caf
Bug 1156028 - Teach clang-analyzer about XPCOM assertion macros; r=froydnj
2015-04-20 13:10:35 -04:00
Aryeh Gregor
044c421f96
Bug 1153649 part 3 - More OwningNonNull improvements; r=bz
2015-04-19 15:28:50 +03:00
Cervantes Yu
d827320379
Bug 1138620
- Part 1: Allow binary modules to create unmonitored threads that doesn't keep the Nuwa process from stabalization. r=nfroyd
2015-04-21 18:23:09 +08:00
Jim Blandy
6afdd6c96b
Bug 1145051: Use MOZ_WARN_UNUSED_RESULT instead of NS_WARN_UNUSED_RESULT. r=glandium
...
--HG--
extra : rebase_source : d210822225d307f3e3685cb5f95b461c48c0be7e
2015-03-19 00:46:40 -07:00
Kartikaya Gupta
d7702657e5
Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj
2015-04-10 08:13:00 -04:00
Kartikaya Gupta
f7dbd8ca43
Bug 1146349 - Allow NS_NewRunnableMethodWithArgs to take up to 8 arguments. r=froydnj
2015-04-14 11:36:35 -04:00
Kartikaya Gupta
0f4033d26f
Back out cset 35cae02f1552 (bug 1152753) because it introduces a footgun. r=me
2015-04-10 12:13:55 -04:00
Kartikaya Gupta
1cc7ec6936
Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj
2015-04-10 08:13:00 -04:00
Ryan VanderMeulen
579da75a70
Backed out changeset e713ce8013eb (bug 1127618) for suspicion of causing semi-frequent B2G crashes.
...
CLOSED TREE
2015-04-09 20:05:49 -04:00
Andrew McCreight
1e0f87e27d
Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj
2015-04-09 10:25:05 -07:00
Nicholas Hurley
0b4c1de637
Bug 1127618 - make push caches work in e10s. r=mcmanus r=froydnj
...
--HG--
extra : rebase_source : 3da2229082ccd041a1ec47ba77d9f0940020f3c9
2015-04-08 14:42:00 +02:00
Ben Turner
81980e5108
Bug 1149888 - Make PLDHashTable::mRecursionLevel atomic, r=froydnj. Pushing on CLOSED TREE with a=ryanvm.
2015-04-07 11:51:35 -07:00
Randall Barker
c236b48231
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
...
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Wes Kocher
e226c762ee
Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
...
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj
2015-04-02 12:12:37 -07:00
Mike Hommey
eefb5ea1cf
Bug 1134920 - Remove nsMemory::Alloc/Realloc/Free. r=nfroyd
2015-04-01 13:51:46 +09:00
Mike Hommey
b077d9624d
Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd
2015-04-01 13:51:45 +09:00
Mike Hommey
c39e359c7d
Bug 1138293 - Use malloc/free/realloc/calloc instead of moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
...
The distinction between moz_malloc/moz_free and malloc/free is not
interesting. We are inconsistent in our use of one or the other, and
I wouldn't be surprised if we are mixing them anyways.
2015-03-31 12:32:49 +09:00
Andrew McCreight
2f48802ae0
Bug 1147572 - Remove implementation language field from DOM class info. r=jst
2015-03-30 10:45:39 -07:00
Andrew McCreight
46dfeaba0b
Bug 1148070 - Change nsIClassInfo::getHelperForLanguage() to getScriptableHelper(). r=bholley
2015-03-29 07:52:54 -07:00
Andrea Marchesini
e6f385fb3d
Bug 1148527 - Indentation fix after bug 1145631, r=ehsan
2015-03-27 18:52:19 +00:00
Ben Kelly
c32262c9c1
Bug 1142852 P1 Fix NS_NewNonOwningRunnableMethodWithArgs() so that it compiles. r=froydnj
2015-03-23 22:28:09 -04:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Daniel Holbert
082fd9cd7f
Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
...
This patch was generated by a script. Here's the source of the script for
future reference:
find . \( -iname "*.cpp" -o -iname "*.h" \) | \
xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Cameron McCormack
9863e4114b
Bug 1123523 - Part 4: Add macro for notifying observers only when they implement a specific derived interface. r=smaug
2015-03-14 16:34:40 +11:00
Nathan Froyd
fca6fbc4c7
Bug 1142544 - delete now-unnecessary |extern "C++"| block from nsISupportsUtils.h; r=mccr8
...
We have blatant C++ code later on in the file; whatever C file(s) were
including nsISupportsUtils.h are now a distant memory.
2015-03-12 11:24:53 -04:00
Nathan Froyd
e7363b8b6b
Bug 1141692 - use an actual Atomic for nsThreadPoolNaming::mCounter; r=bsmedberg
...
Marking a variable as volatile is never the right thing to do when
dealing with threads. Use real atomic accesses instead.
2015-03-10 14:41:45 -04:00
Andrew McCreight
ea55946825
Bug 1119482, part 2 - Move HoldDropJSObjects.h from xpcom/glue to xpcom/base. r=froydnj
...
This will clear the way for a HoldDropJSObjects.cpp, as xpcom/glue seems to use weird linking rules.
--HG--
rename : xpcom/glue/HoldDropJSObjects.h => xpcom/base/HoldDropJSObjects.h
2015-03-10 16:41:38 -07:00
Andrew McCreight
75b58ba304
Bug 1139050 - Add moz.build BUG_COMPONENT metadata for xpcom/. r=froydnj
2015-03-10 16:41:38 -07:00
Carsten "Tomcat" Book
cc4d1b9af9
Merge mozilla-central to b2g-inbound
2015-03-10 14:07:36 +01:00
Thomas Zimmermann
614234540f
Bug 1137151: Enable test for non-public ref-counted destructors on gcc 4.8 and later, r=nfroyd
2015-03-10 13:44:02 +01:00
Mike Hommey
ad8f212161
Bug 1139361 - Remove gTLSThreadID*, NS_TLS and mozilla::threads::ID. r=nfroyd
2015-03-10 11:10:58 +09:00
Mike Hommey
364038011c
Bug 868814 - Fold mozalloc library into mozglue. r=njn
...
--HG--
rename : memory/mozalloc/moz.build => memory/mozalloc/staticruntime/moz.build
2015-03-10 10:01:52 +09:00
Gerald Squelart
4495d81efb
Bug 1131445 - variadic NS_NewRunnableMethodWithArgs with storage&passing argument type decorators. r=waldo
...
--HG--
extra : rebase_source : 3c2104c19bb37624ec32a1ca4c50235e7cefd953
2015-03-01 18:12:00 +01:00
Nicholas Nethercote
19fa938cf7
Bug 1050035 (part 1, attempt 2) - Lazily allocate PLDHashTable::mEntryStore. r=froydnj.
...
This makes zero-element hash tables, which are common, smaller, and also avoids
unnecessary malloc/free pairs.
I did some measurements during some basic browsing of a few sites. I found that
35% of all live tables were empty with a few tabs open. And cumulatively, for
the whole session, 45% of tables never had an element added to them.
--HG--
extra : rebase_source : 306bb50f250c09aa03a5e4822f41d6f605d76a1d
2015-02-01 14:56:33 -08:00
Nicholas Nethercote
a423210355
Bug 1132802 - Add more assertions to pldhash.cpp. r=froydnj.
...
The use of |new| in PL_NewDHashTable() is necessary to avoid the new
assertions in Init() from failing.
--HG--
extra : rebase_source : 63cf962ce146142b72ffa0d6fcd3d8af1ec88bca
2015-02-11 20:24:33 -08:00
Nicholas Nethercote
6bf8ed2521
Bug 1127201 (attempt 2, part 3) - Remove the NS_ABORT_IF_FALSE macro. r=Waldo.
...
--HG--
extra : rebase_source : b0ff8671df31c6da4a2063ede611b3c554540950
2015-02-04 20:07:09 -08:00
Trevor Saunders
99d941db3c
bug 1133075 - add more MOZ_OVERRIDE r=froydnj, waldo, jrmuizel
2015-02-18 17:03:30 -05:00
Nicholas Nethercote
8fc460a98a
Bug 1131199, part 3 - Update comments relating to PLDHashTableOp::initEntry. r=mccr8.
...
DONTBUILD because this is a comment-only change.
--HG--
extra : rebase_source : 51501a06196814dbdabbd8b170ec41ccbf6ed2d0
2015-02-11 14:24:47 -08:00
Nicholas Nethercote
3a7b0a9f57
Bug 1131901 (part 1) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
...
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.
--HG--
extra : rebase_source : 526d96ab65e4d7d71197b90d086d19fbdd79b7b5
2015-02-02 14:48:58 -08:00
Andrew McCreight
31ba9aaed9
Bug 1131199, part 2 - Make PLDHashtInitEntry infallible. r=froydnj
...
Also, drop the unused table argument.
2015-02-11 09:46:40 -08:00
Nicholas Nethercote
63e3218e4c
Back out changesets 2fcef6b54be7, 2be07829fefc, 66dfe37b8532, df3fcd2be8fd, 0a436bce77a6 (bug 1050035) for causing intermittent crashes and assertion failures.
...
--HG--
extra : rebase_source : eb30be83c3143c6c203585a80a18f180025efaba
2015-02-10 14:39:49 -08:00
Nicholas Nethercote
242708cf72
Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
...
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight
d3826daa16
Back out Bug 1127201 (part 2) for various problems.
2015-02-06 15:04:32 -08:00
Andrew McCreight
c11d7db0a4
Back out Bug 1127201 (part 3) for various problems.
2015-02-06 15:04:00 -08:00
Nicholas Nethercote
33e98ebdf0
Bug 1127201 (part 3) - Remove the NS_ABORT_IF_FALSE macro. r=Waldo.
...
--HG--
extra : rebase_source : 7403ecb72a24be30b3871674b511894af9af1f3a
2015-02-04 20:07:09 -08:00
Nicholas Nethercote
d34f0301b8
Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
...
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Nicholas Nethercote
b5913e0b3d
Bug 1050035 (part 4) - Make PL_DHashTableAdd() infallible by default, and add a fallible alternative. r=froydnj.
...
I kept all the existing PL_DHashTableAdd() calls fallible, in order to be
conservative, except for the ones in nsAtomTable.cpp which already were
followed immediately by an abort on failure.
--HG--
extra : rebase_source : eeba14d732077ef2e412f4caca852de6b6b85f55
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
f325953043
Bug 1050035 (part 3) - Remove PL_NewDHashTable() and PL_DHashTableDestroy(). r=froydnj.
...
Because they are now just equivalent to |new PLDHashTable()| +
PL_DHashTableInit() and PL_DHashTableFinish(t) + |delete t|, respectively.
They're only used in a handful of places and obscure things more than they
clarify -- I only recently worked out exactly how they different from Init()
and Finish().
--HG--
extra : rebase_source : c958491447523becff3e01de45a5d2d227d1ecd3
2015-02-01 20:36:52 -08:00
Nicholas Nethercote
9a36fdbde4
Bug 1050035 (part 2) - Remove the fallible version of PL_DHashTableInit(). r=froydnj,mrbkap.
...
Because it's no longer needed now that entry storage isn't allocated there.
(The other possible causes of failures are much less interesting and simply
crashing is a reasonable thing to do for them.)
This also makes PL_DNewHashTable() infallible.
--HG--
extra : rebase_source : 848cc9bbdfe434525857183b8370d309f3acbf49
2015-02-01 20:19:08 -08:00
Nicholas Nethercote
2438e023a8
Bug 1050035 (part 1) - Lazily allocate PLDHashTable::mEntryStore. r=froydnj.
...
This makes zero-element hash tables, which are common, smaller, and also avoids
unnecessary malloc/free pairs.
I did some measurements during some basic browsing of a few sites. I found that
35% of all live tables were empty with a few tabs open. And cumulatively, for
the whole session, 45% of tables never had an element added to them.
There is more to be done w.r.t. simplifying initialization, which will occur in
the next patch.
--HG--
extra : rebase_source : b9bfdcd680f39f3c947a49ae8462c04bc5e38805
2015-02-01 14:56:33 -08:00
Xidorn Quan
f303a6cca2
Bug 1127045 part 3 - Make nsTArray support reverse iterating. r=froydnj
...
--HG--
extra : source : 6cd8187de27872308575077e6b4ba4d6df1fc312
2015-02-04 19:07:32 +11:00
Xidorn Quan
9a5955f0b8
Bug 1126552 part 1 - Make nsTArray support range-based for loops. r=froydnj
...
--HG--
extra : source : d8670bac983f9bc2b5886af2396d84ec9b4832a7
2015-02-04 19:07:32 +11:00
Xidorn Quan
f910a5e603
Bug 1126552 part 0 - Rename end to iend to avoid shadowing warnings. r=froydnj
...
--HG--
extra : source : 7466982b362d61eda808c1ec848ecd45ef1c1c97
2015-02-04 19:07:32 +11:00
Nicholas Nethercote
27f5668308
Bug 1127401 - Tweak PL_DHashTableSearch() to counter a Fennec regression. r=froydnj.
...
PL_DHashTableLookup() had the same return protocol as SearchTable(), which
meant that compilers could generate a tail call from the former to the latter.
Bug 1124973 replaced PL_DHashTableLookup() with PL_DHashTableSearch(), which
has a slightly different return protocol, and so the tail call was lost. This
appears to be the cause of the Fennec performance regression.
This patch splits SearchTable() in two (using templates to avoid explicit code
duplication). SearchTable<false>() now has the same return protocol as
PL_DHashTableSearch(), and so the tail call can now be used again.
2015-01-29 20:18:28 -08:00
Mike Hommey
a35dbaeebf
Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn
...
--HG--
rename : memory/mozalloc/fallible.h => memory/fallible/fallible.h
2015-02-02 09:56:13 +09:00
Jim Mathies
d5d37f938c
Bug 1095754 - Miscellaneous code cleanup nits found along the way. r=me
2015-01-29 13:41:57 -06:00
Nicholas Nethercote
4d7c72cbf7
Bug 1126546 - Make PLDHashTable::keyHash private. r=froydnj.
...
As well as renaming and privatizing |keyHash|, this patch also:
- renames GetKeyHash() to ComputeKeyHash(), which better indicates it's not
some kind of getter function; and
- makes PLDHashEntryStub inherit from PLDHashEntryHdr, for consistency with
everywhere else.
2015-01-28 21:33:38 -08:00
Nicholas Nethercote
7f17f40494
Bug 1124973 (part 7) - Remove PL_DHashTableLookup. r=froydnj.
...
This patch:
- Removes PL_DHashTableLookup().
- Removes PL_DHASH_ENTRY_IS_BUSY(). It's barely used and
PL_DHASH_ENTRY_IS_FREE() suffices.
- Removes a non-useful, non-sequitur comment ("However, use...").
--HG--
extra : rebase_source : 8ee03b52f78e726515902d59af633f9ad015affa
2015-01-26 16:02:05 -08:00
Nicholas Nethercote
3163cfc2c1
Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
...
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.
For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.
I'll do the trickier ones in subsequent patches.
--HG--
extra : rebase_source : ab37a7a30be563861ded8631771181aacf054fd4
2015-01-22 21:06:55 -08:00
Nicholas Nethercote
097aa5a98e
Bug 1124973 (part 1) - Always use inheritance rather than composition for PLDHashTable entries. r=froydnj.
...
Because (a) this is how it's usually done, (b) it allows static_cast<> instead
of reinterpret_cast<>, and (c) it will make subsequent patches easier.
--HG--
extra : rebase_source : 76e67d4b6ec0e5dc898a8214b6a6b562f9e08380
2015-01-22 21:05:52 -08:00
Xidorn Quan
c6aaaa4c77
Bug 1124029
- Fix 64bit shift warning in nsVoidArray. r=froydnj
...
--HG--
extra : source : dba319233ef2df517d3ba37b4406357fb007dec7
extra : histedit_source : 4ad36db364b75ceb3566ef2f48507ad314d2e238
2015-01-28 08:55:44 +11:00
Nicholas Nethercote
48710afc66
Bug 1124920 - Remove PLDHashTable::Operate(). r=froydnj.
...
--HG--
extra : rebase_source : f029d3ca8835232b3c1d4188aa63a0004c1aad4b
2015-01-22 15:43:18 -08:00
Chris Peterson
2da1f21a45
Bug 1125665 - Fix -Wunused-private-field warning in PLDHashTable and mark xpcom/glue as FAIL_ON_WARNINGS. r=froydnj
2015-01-25 00:25:13 -08:00
Masatoshi Kimura
6cc5dabbee
Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo
2015-01-26 07:22:11 +09:00