Nicholas Nethercote
829edf1dcd
Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru.
2015-09-14 14:23:47 -07:00
Nicholas Nethercote
3bbd89a422
Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru.
2015-09-14 14:23:12 -07:00
Nicholas Nethercote
f9fdfba566
Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru.
2015-05-21 00:34:25 -07:00
Nicholas Nethercote
d71abcd056
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
2015-06-11 21:19:53 -07:00
Nicholas Nethercote
f57c31b49c
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
0e6d634852
Bug 1166586 (part 2) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
...
This patch converts easy cases, i.e. where the PL_DHashTableInit() call occurs
in a constructor and the PL_DHashTableFinish() call occurs in a destructor.
2015-05-04 22:59:24 -07:00
Nicholas Nethercote
594f872fe6
Back out all four patches from bug 1161377. r=me.
...
Due to Android startup regressions (bug 1163066) and plugin crashes (bug
1165155).
2015-05-14 21:48:43 -07:00
Nicholas Nethercote
faab612820
Bug 1161377 (part 3, attempt 2) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
2015-05-12 17:33:26 -07:00
Nicholas Nethercote
31336c41f1
Backout c375efe78e07 (bug 1161377 part 3) for (probably) increasing the static constructor count and regressing Fennec start-up time. r=me.
2015-05-10 22:16:18 -07:00
Nicholas Nethercote
1c8a109619
Bug 1161377 (part 3) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
...
This patch converts easy cases, i.e. where the PL_DHashTableInit() call occurs
in a constructor and the PL_DHashTableFinish() call occurs in a destructor.
2015-05-04 22:59:24 -07:00
Andrew McCreight
00f75cda98
Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj
2015-04-09 10:25:05 -07:00
Nicholas Nethercote
3b0764a330
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.
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
1ce96de5ae
Back out changesets 2fcef6b54be7, 2be07829fefc, 66dfe37b8532, df3fcd2be8fd, 0a436bce77a6 (bug 1050035) for causing intermittent crashes and assertion failures.
2015-02-10 14:39:49 -08:00
Nicholas Nethercote
a3bf151ee6
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.
2015-02-02 14:48:58 -08:00
Nicholas Nethercote
c38455902a
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.
2015-01-22 21:06:55 -08:00
Nicholas Nethercote
4604f714c6
Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
...
This encapsulates most of the uses of PLDHashTable::ops.
2015-01-19 16:11:34 -08:00
Ehsan Akhgari
3def6843e2
Bug 1122990 - Mark nsPropertiesParser as stack class, and make its mProps member a strong ref; r=froydnj
2015-01-19 10:00:31 -05:00
Ehsan Akhgari
5de3c6c9b6
Bug 1122989 - Remove nsIPersistentProperties::Subclass(); r=froydnj
...
This method is unused, and more importantly it causes us to store an
unsafe reference in nsPersistentProperties. It's best to remove it.
2015-01-19 08:59:01 -05:00
Nicholas Nethercote
d746138aca
Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
2015-01-14 14:35:56 -08:00
Phil Ringnalda
41e41579d9
Backed out 2 changesets (bug 1121304) for consistent b2g hangs in webgl-color-test.html?frame=1&__&preserve&premult&_____
...
Backed out changeset 20651ac19549 (bug 1121304)
Backed out changeset 758afec77c95 (bug 1121304)
2015-01-14 22:02:23 -08:00
Nicholas Nethercote
70f5bf6167
Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
2015-01-14 14:35:56 -08:00
Nicholas Nethercote
43fc26b699
Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
2015-01-13 19:02:35 -08:00
Nicholas Nethercote
eda870fe92
Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
2015-01-13 16:42:13 -08:00
Michael Pruett
cdea6d623f
Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd
2015-01-05 20:26:50 -06:00
Nicholas Nethercote
c9cbbdc34d
Bug 1057912 - Privatize most of PLDHashTable's fields. r=roc.
2014-08-25 16:56:33 -07:00
Nicholas Nethercote
663b82ea3b
Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
...
* * *
imported patch rm-dummy-params
2014-08-06 06:31:21 -07:00
Ehsan Akhgari
c60f82c778
Bug 1045065 - Fix some bad implicit constructors in xpcom; r=froydnj
2014-07-28 13:19:06 -04:00
Birunthan Mohanathas
779b87ce50
Bug 1022456 - Convert xpcom/ds/ to Gecko style. r=froydnj
2014-07-09 08:15:21 -07:00
Birunthan Mohanathas
eeb9aaaa94
Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj
2014-04-27 03:06:00 -04:00
Andrew McCreight
f631671556
Bug 975037, part 3 - Remove trailing whitespace from nsPersistentProperties. r=froydnj
2014-02-27 10:04:10 -08:00
Andrew McCreight
42aee5b8fe
Bug 975037, part 2 - Use smart pointers in nsPersistentProperties. r=froydnj
2014-02-27 10:04:10 -08:00
Andrew McCreight
749fd03d7e
Bug 975037, part 1 - Inline nsPersistentProperties::Init. r=froydnj
2014-02-27 10:04:10 -08:00
Andrew McCreight
aded529f53
Bug 962608 - Make PL_DHashTableInit infallible by default. r=briansmith,bsmedberg,ehsan,froydnj,jduell,jfkthame,roc,smaug
2014-02-27 10:04:09 -08:00
Ehsan Akhgari
68bfe70f09
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ehsan Akhgari
5e0f414d1a
Bug 918105 - Minimize the #includes in xpcom/ds; r=bsmedberg
2013-09-19 15:31:21 -04:00
Joshua Cranmer
1c073a2540
Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg
2013-07-18 21:31:26 -05:00
Ehsan Akhgari
95a1475bfa
Bug 856455 - Make nsCOMArray::SetCapacity return void; r=bsmedberg
2013-03-31 16:06:18 -04:00
Trevor Saunders
a57f718cc9
bug 819936 - remove NS_NewArrayEnumerator overload for nsISupportsArray r=bz, bsmedberg
2012-12-09 05:04:21 -05:00
Ehsan Akhgari
243c878d26
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
8b4a23fc4c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Gervase Markham
cb6a072c2a
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Patrick Wong
c9bcb02a6e
Bug 745659 - Removed the nsPrintfCString constructor which takes a length and all corresponding instances that call that particular constructor. This is accomplished by removing the length component from the instantiation. r=jlebar
2012-04-24 14:43:00 -04:00
Ehsan Akhgari
478ad1a412
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
2011-09-28 23:19:26 -07:00
Benjamin Smedberg
0e824d90bb
Bug 568691 part A - register static and binary components using data tables rather than programmatic nsIComponentRegistrar methods. This part contains the important needs-review bits of the change: part B contains the mechanical changes to each module in order to actually get a working build. Part C will contain changes necessary to register JS components from .manifest files
2010-06-10 14:11:11 -04:00
350429b0ba
Bug 562525 - nsPropertiesParser::FinishValueState potentially uses a variable uninitialized dependent on a member of a class in a file with threadsafe classes, r=bsmedberg
2010-04-28 17:55:00 -07:00
Benjamin Smedberg
e66978d628
Bug 469072 - Annotations in XPCOM, and a couple related code fixups, to make outparams spit out useful warnings, r=bent
2008-12-11 15:13:52 -05:00
Arpad Borsos
1b55360c07
Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan
2008-10-10 17:04:34 +02:00
Michal Novotny
8a6d2aede7
Bug 121341. Switch nsPersistentProperties::Load from reading a char at a time to reading a block at a time, with a state-machine parser and all. r=bsmedberg, sr=bzbarsky
2008-08-07 17:05:19 -04:00
98de634631
Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros.
2007-07-08 00:08:04 -07:00