Commit Graph

1441 Commits

Author SHA1 Message Date
Honza Bambas
c0030e0da9 Bug 1188983 - mozilla::Tokenizer improvements, r=nfroyd
--HG--
extra : rebase_source : 8cfe594e6c320a9330f09b34d7d7018e023938da
2015-08-19 15:14:25 -07:00
Xidorn Quan
9602783f5f Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj 2015-08-19 11:06:05 -07:00
Nigel Babu
0005d3bf06 Backed out changeset 20c6f74296e2 (bug 1195154) for causing Bug 1196115
--HG--
extra : rebase_source : 59356f3ff488b4000e4f3034f9c676d4afe8b49f
2015-08-19 20:43:11 +05:30
Xidorn Quan
aedc156767 Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj
--HG--
extra : source : 3303e551336985eca8b501dcc12cf6f2dddbdec3
2015-08-19 09:09:08 +10:00
Nicholas Nethercote
0a97485195 Bug 1190735 - Remove nsITimer.TYPE_REPEATING_PRECISE. r=froydnj.
--HG--
extra : rebase_source : e4424bde52b0f90adbd328071f62b89193098d34
2015-08-04 17:30:53 -07:00
Botond Ballo
1ad5e05028 Bug 1056356 - Add support for nsRefPtr<const T>. r=froydnj
--HG--
extra : rebase_source : 7b86c6e7bc47c7b3ebc19075559cf0f7d24ededf
2015-08-05 13:52:06 -04:00
James Cheng
315911c26e Bug 1189231 - Impl operator->* to nsAutoPtr. r=nfroyd 2015-07-30 21:02:00 -04: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
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
Bobby Holley
97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Honza Bambas
61aeafa22b Bug 1024056 - Simple ASCII lexical analyzer. r=nfroyd 2015-07-27 05:07:00 -04: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
Birunthan Mohanathas
4db7ee5707 Bug 1185589 - Properly handle self-assignment in nsTArray::operator=. r=mccr8 2015-07-21 09:42:58 -07:00
Nicholas Nethercote
954e563acc Bug 1185399 (part 1) - Remove macros from pldhash.h. r=froydnj. 2015-07-20 17:06:38 -07: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
Nicholas Nethercote
e1824580b7 Bug 1181411 - Test some expected aborts in PLDHashTable. r=glandium. 2015-07-12 18:50:21 -07: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
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
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
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
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
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
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
Birunthan Mohanathas
53c8a09de0 Bug 968520 - Add mozilla::fallible to FallibleArray calls in tests. r=froydnj 2015-06-08 13:39:49 -07:00
Nikhil Marathe
f22c1bc30b Bug 1166504 - Make nsMultiplexInputStream cloneable. r=bkelly,froydnj
--HG--
extra : rebase_source : 50d88c93b4b8bab0d474002f6661432ad5357e43
2015-06-02 16:12:57 -07:00
Nicholas Nethercote
383a496bf6 Bug 1170416 (part 5) - Remove PLDHashTable::IsInitialized(). r=froydnj.
|mOps| is always non-null now, and there's no longer any distinction between
and uninitialized and initialized table. Yay.

--HG--
extra : rebase_source : 3d1fb72aee4dd21ff20db0ff3166d4e932ade897
2015-05-20 21:23:55 -07:00
Nicholas Nethercote
e849e6588b Bug 1170416 (part 3) - Remove the PLDHashTable2 typedef. r=froydnj.
--HG--
extra : rebase_source : 9510ea47204fffa163cac43aeaaac6ae1ad80419
2015-05-19 16:46:17 -07:00
Nicholas Nethercote
4c85dd6658 Bug 1168007 (part 11) - Use PLDHashTable2 exclusively in TestPLDHash. r=froydnj.
--HG--
extra : rebase_source : 5a7fdaf46f525b762a946f226b186c453bea2c53
2015-05-18 21:58:33 -07:00
Wes Kocher
ba06617421 Backed out changeset 47a103414177 (bug 1166504) for mochitest-e10s-4 permafail CLOSED TREE 2015-06-01 17:59:17 -07:00
Nikhil Marathe
f2fab68cc8 Bug 1166504 - Make nsMultiplexInputStream cloneable. r=bkelly,froydnj
--HG--
extra : rebase_source : cb6b530acf76e6414cd8d76aedd994b27effe069
2015-05-19 14:28:32 -07:00
Nicholas Nethercote
249958c03d Bug 1168007 (part 1) - Add PLDHashTable::{Clear,ClearAndPrepareForLength}(). r=froydnj.
--HG--
extra : rebase_source : 05445de53b178173bfbaed29095e0ca4c11639a2
2015-05-18 19:16:06 -07:00
Nicholas Nethercote
c1d4a47622 Bug 1165770 - Add PLDHashTable2. r=froydnj.
This is a temporary sub-class of PLDHashTable that will allow PLDHashTable to
be incrementally transitioned from manual initialization/finalization (via
explicit Init()/Fini() calls) to automatic initialization/finalization (via an
initializing constructor and a destructor). Once all PLDHashTable instances are
converted to PLDHashTable2, it can be folded back into PLDHashTable and the "2"
suffix can be dropped.

--HG--
extra : rebase_source : 674e7bd9320dc1db8879f842df05a7d995069e97
2015-05-18 00:52:01 -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
Brian O'Keefe
c6ba641724 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal
--HG--
extra : rebase_source : 2d2cbc1ebc97496c54aef63de73b00af8126e750
2015-02-13 08:11:57 -05:00
Nicholas Nethercote
ba79e01ad2 Bug 1161377 (part 3, attempt 2) - Convert some easy PL_DHashTable{Init,Finish} cases. r=froydnj.
--HG--
extra : rebase_source : 990907701818b7da2b4e8955c419bb61130e266f
2015-05-12 17:33:26 -07:00
Mike Hommey
fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
Nicholas Nethercote
0323a0a1b5 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
JW Wang
45e92ea31f Bug 1161405. Part 2 - test case for parallelism of the thread pool. r=nfroyd. 2015-05-09 07:32:27 +08:00
Nicholas Nethercote
17348fdef0 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
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
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
Ehsan Akhgari
d2b480a8db Bug 1161240 - Make sure that NS_CloneInputStream correctly deals with null input; r=froydnj 2015-05-05 09:56:47 -04:00
Benjamin Smedberg
573f0e2266 Bug 1159737 Stop supporting binary XPCOM components except built into the application. r=froydnj sr=bz Some xpcshell tests of binary functionality need to register binary components. Expose a function "registerAppManifest" in the xpcshell environment to make this available to tests without exposing it to addons. r=bholley
--HG--
extra : rebase_source : 1bf47ad1cb8b662ff598c261dae872bc4710e170
2015-05-01 10:23:44 -04:00
Mike Hommey
924c9eb636 Bug 1134923 - Remove NS_Alloc/NS_Realloc/NS_Free. r=nfroyd
They are kept around for the sake of the standalone glue, which is used
for e.g. webapprt, which doesn't have direct access to jemalloc, and thus
still needs a wrapper to go through the xpcom function list and get to
jemalloc from there.
2015-05-01 09:40:30 +09:00