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

1551 Коммитов

Автор SHA1 Сообщение Дата
Ben Kelly 79ccea7ed6 Bug 1203680 P4 Fix bug in nsStorageStream with reading streams created before data is populated. r=froydnj 2015-09-14 12:04:56 -07:00
Ben Kelly e0bbb6d4d2 Bug 1203760 P2 Add gtests for nsPipeInputStream AsyncRead(). r=froydnj 2015-09-14 08:49:09 -07:00
Honza Bambas 3506e6ec97 Bug 1199775 - mozilla::Tokenizer improvements vol 2. r=nfroyd 2015-09-02 06:20:00 +02:00
Wes Kocher ba9de6a2f7 Backed out changeset f5b2a11c64c9 (bug 1201271) for bustage 2015-09-09 15:56:21 -07:00
Andrew McCreight 3e590f4e78 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-09 15:39:10 -07:00
Eric Rahm 42afa97523 Bug 1199400 - Part 2: Add tests for possible nsDeque corner cases. r=froydnj 2015-09-04 15:05:01 -07:00
Andrew McCreight 13445609b8 Backed out changeset 351d5f864f9e for not compiling. 2015-09-04 09:52:24 -07:00
Andrew McCreight cc00f8d5c9 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-04 09:45:44 -07:00
Mike Hommey fba2225be7 Bug 1201453 - Make TestTArray's test_fallible use array sizes slightly less than 128MB. r=nfroyd 2015-09-04 14:35:53 +09:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
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
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
Nick Fitzgerald b3ed721b3e Bug 1158257 - Gecko should always provide SpiderMonkey with a debuggerMallocSizeOf; r=mccr8 2015-04-27 10:58:24 -07: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
Denis Volk 32e981896d Bug 1095098 - move do_QueryObject templates into their own header; r=froydnj 2015-04-15 12:47:03 -04:00
Ehsan Akhgari 946466ced9 Fix a missing check in TestStrings.cpp, no bug 2015-04-18 20:51:01 -04:00
Ehsan Akhgari 46e47329c5 Back out bug 1149174 since it turns out that the nsTArray range iterators are not stable after all 2015-04-16 18:18:22 -04:00
Andrew McCreight 3bee6e09f9 Bug 1151541, part 3 - Fix leading tabs in xpcom/. r=froydnj 2015-04-09 10:25:05 -07:00
Andrew McCreight 1e0f87e27d Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj 2015-04-09 10:25:05 -07: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
Ehsan Akhgari 9968489cfa Bug 1149174 - Add a test to ensure that XPCOM nsTArray range iterators are stable; r=froydnj 2015-03-31 16:29:58 -04:00
Andrea Marchesini e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00: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
Geoff Brown 13431d9251 Bug 1140148 - Update xpcshell test manifests for Android 4.3 emulator; r=dminor 2015-03-19 11:00:58 -06:00
Ben Kelly e028338c3b Bug 1133939 P2 Add tests validating nsPipeOutputStream AsyncWait behavior. r=froydnj 2015-02-21 09:51:17 -05:00
Nicholas Nethercote 3aebac5d0d Bug 1142277 - Fix leak in failure path in TestPLDHash. r=erahm.
--HG--
extra : rebase_source : fbd5cf61033b9cffe099a6b216c41ae6a89b875e
2015-03-11 15:39:58 -07:00
Ehsan Akhgari 82fce30849 Bug 1140762 - Move TestThreads.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestThreads.cpp => xpcom/tests/gtest/TestThreads.cpp
2015-03-09 11:10:32 -04:00
Ehsan Akhgari db5ec9921e Bug 1140760 - Move TestXPIDLString.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestXPIDLString.cpp => xpcom/tests/gtest/TestXPIDLString.cpp
2015-03-09 11:10:01 -04: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
Ehsan Akhgari c611e2a6a8 Backed out 2 changesets (bug 1133939) because of bug 1136453
Backed out changeset 212080d51fb7 (bug 1133939)
Backed out changeset 27de4b553912 (bug 1133939)
2015-02-25 13:26:41 -05:00
Ben Kelly 9f9db94841 Bug 1133939 P2 Add tests validating nsPipeOutputStream AsyncWait behavior. r=froydnj 2015-02-21 09:51:17 -05:00
Ryan VanderMeulen 34d6e2d69c Backed out changesets 4c2b179b71ae and c96050cdedd5 (bug 1133939) for asserts. 2015-02-20 20:00:19 -05:00
Ben Kelly 1eb9f13e73 Bug 1133939 P2 Add tests validating nsPipeOutputStream AsyncWait behavior. r=froydnj 2015-02-20 18:16:04 -05: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
Ben Kelly 5c46ccc050 Bug 1100398 P5 Provide NS_CloneInputStream() factory method in nsStreamUtils.h. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly 39a8291465 Bug 1100398 P4 Make nsPipeInputStream cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly a3fc23c873 Bug 1100398 P3 Make nsStorageStream's input streams cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly a7631559d4 Bug 1100398 P2 Make nsStringInputStream cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly b4a93b9b3d Bug 1100398 P0 Break out helper routines to support gtests for more stream types. r=froydnj 2015-02-10 23:55:43 -05: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 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
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
Ehsan Akhgari e08ad38a33 Bug 1126301 - Move TestUTF.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestUTF.cpp => xpcom/tests/gtest/TestUTF.cpp
rename : xpcom/tests/UTFStrings.h => xpcom/tests/gtest/UTFStrings.h
extra : rebase_source : 6c08b56d9cdb2af10a436792de7bee03d8c41070
2015-01-27 12:38:44 -05:00
Ehsan Akhgari a4a005ae1b Backed out changeset 186127d71076 (bug 1126295) because of test bustage on Windows on a CLOSED TREE
--HG--
rename : xpcom/tests/gtest/TestAtoms.cpp => xpcom/tests/TestAtoms.cpp
rename : xpcom/tests/gtest/UTFStrings.h => xpcom/tests/UTFStrings.h
2015-01-27 13:47:44 -05:00
Ehsan Akhgari 39a6fe9c60 Backed out 2 changesets (bug 1126301) on a CLOSED TREE because the test was apparently busted on some platforms
Backed out changeset 4aecd46afeb1 (bug 1126301)
Backed out changeset c61a87a20888 (bug 1126301)

--HG--
rename : xpcom/tests/gtest/TestUTF.cpp => xpcom/tests/TestUTF.cpp
2015-01-27 13:44:15 -05:00
Ehsan Akhgari 18a949c894 Bug 1126301 follow-up: Fix a signed/unsigned comparison fatal warning, landed on a CLOSED TREE 2015-01-27 12:56:15 -05:00
Ehsan Akhgari 313bd50abd Bug 1126301 - Move TestUTF.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestUTF.cpp => xpcom/tests/gtest/TestUTF.cpp
extra : rebase_source : db5e0418f89bb1cf71a0543a48a6a063f61e4033
2015-01-27 12:38:44 -05:00
Ehsan Akhgari 6fd135f8ae Bug 1126295 - Move TestAtoms.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestAtoms.cpp => xpcom/tests/gtest/TestAtoms.cpp
rename : xpcom/tests/UTFStrings.h => xpcom/tests/gtest/UTFStrings.h
extra : rebase_source : 16340d826f39339dd38e77810cd08e59b324c380
2015-01-27 09:28:45 -05:00
Ehsan Akhgari 1ac680d086 Bug 1125138 - Move TestTimeStamp.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestTimeStamp.cpp => xpcom/tests/gtest/TestTimeStamp.cpp
extra : rebase_source : d6f92fb8be26504164a1b54bd40811f6f1c3cc3a
extra : source : 67496f44f4617eda8f650d5c801fd9b327e5ac96
2015-01-26 17:08:24 -05:00
Ehsan Akhgari 1ff610e6bd Bug 1125559 - Move TestThreadPool.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestThreadPool.cpp => xpcom/tests/gtest/TestThreadPool.cpp
extra : amend_source : 9d779a219338a8cbf854af28070ddc5559d28d2b
extra : histedit_source : 59dd08d1722b1fe621f3d5070b64d791012fa026%2C5231f875b1e958f393079ac9258a2d3812a1feb1
2015-01-26 20:49:22 -05:00
Wes Kocher 878e2e5f26 Backed out changeset 67496f44f461 (bug 1125138) for checktest failures
--HG--
rename : xpcom/tests/gtest/TestTimeStamp.cpp => xpcom/tests/TestTimeStamp.cpp
2015-01-26 16:14:06 -08:00
Wes Kocher 1f45146bdb Backed out changeset 8ae4f78d7e25 (bug 1125559) for checktest orange
--HG--
rename : xpcom/tests/gtest/TestThreadPool.cpp => xpcom/tests/TestThreadPool.cpp
2015-01-26 15:18:50 -08:00
Ehsan Akhgari 87ec49dc6f Bug 1125559 - Move TestThreadPool.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestThreadPool.cpp => xpcom/tests/gtest/TestThreadPool.cpp
extra : amend_source : 08b95083290e67062ebaecff820ff627f87b35a2
2015-01-26 17:10:09 -05:00
Ehsan Akhgari e6a83f6014 Bug 1125138 - Move TestTimeStamp.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestTimeStamp.cpp => xpcom/tests/gtest/TestTimeStamp.cpp
2015-01-26 17:08:24 -05:00
Ehsan Akhgari 9cfc822740 Remove TestTArray from the list of disabled XPCOM tests, because it's not disabled, no bug, DONTBUILD 2015-01-23 09:38:42 -05:00
Ehsan Akhgari 1159fbcef9 Bug 1124058 - Move TestSynchronization.cpp to gtest and enable it; r=froydnj 2015-01-21 22:42:38 -05:00
Ehsan Akhgari c9abc4481d Bug 1124048 - Move TestStorageStream.cpp to gtest and enable it; r=froydnj 2015-01-21 11:29:20 -05:00
Ehsan Akhgari 5fc1133195 Bug 1124047 - Move TestPriorityQueue.cpp to gtest and enable it; r=froydnj 2015-01-21 11:25:34 -05:00
Ehsan Akhgari acfa245a0a Bug 1124041 - Move TestPipes.cpp to gtest and enable it; r=froydnj 2015-01-21 11:21:10 -05:00
Nicholas Nethercote 8bd1f6f072 Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
This encapsulates most of the uses of PLDHashTable::ops.

--HG--
extra : rebase_source : 7760ce8e46a37e87dcfe590e809a21df01fe510f
2015-01-19 16:11:34 -08:00
Nicholas Nethercote bd573c9b9c Bug 1123151 (part 1) - Set PLDHashTable::ops consistently. r=froydnj.
Currently the setting of PLDHashTable::ops is very haphazard.

- PLDHashTable has no constructor, so it's not auto-nulled, so lots of places
  null it themselves.

- In the fallible PLDHashTable::Init() function, if the entry storage
  allocation fails we'll be left with a table that has |ops| set -- indicating
  it's been initialized -- but has null entry storage. I'm not certain this can
  cause problems but it feels unsafe, and some (but not all) callers of Init()
  null it on failure.

- PLDHashTable does not null |ops| in Finish(), so some (but not all) callers
  do this themselves.

This patch makes things simpler.

- It adds a constructor that zeroes |ops|.

- It modifies Init() so that it only sets |ops| once success is ensured.

- It zeroes |ops| in Finish().

- Finally, it removes all the now-unnecessary |ops| nulling done by the users
  of PLDHashTable.

--HG--
extra : rebase_source : bb34979c218d152562a2f9c7e5215256c111cc5b
2015-01-19 16:01:24 -08:00
Christoph Kerschbaumer abb0caed63 Bug 1119006 - Remove files where code is still calling removed NS_OpenURI API (r=mcmanus) 2015-01-14 11:52:57 -08:00
Nicholas Nethercote 69fe655b04 Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
--HG--
extra : rebase_source : bc119bd0d3b6944e8c5a000950e0c4052cb70aef
2015-01-14 14:35:56 -08:00
Phil Ringnalda e39f0adeca 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 e9735966fa Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote 47221bc7f9 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote c7538c9776 Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Ehsan Akhgari cb71061e04 Bug 1119254 - Mark virtual overridden functions as MOZ_OVERRIDE in xpcom; r=froydnj 2015-01-08 10:58:39 -05:00
Michael Pruett 62960a5119 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Ehsan Akhgari 860da94550 Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel 2015-01-06 16:30:03 -05:00
Ehsan Akhgari ae06b958cb Bug 1117211 - Move the XPCOM gtests temporarily placed in xpcom/glue/tests/gtest into xpcom/test/gtest now that it exists; r=froydnj 2015-01-05 11:30:36 -05:00
Ehsan Akhgari f32bb086bc Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Christoph Kerschbaumer 4face24a5f Bug 1093948: Make JS callers of ios.newChannel call ios.newChannel2 in xpcom/ (r=bsmedberg) 2014-12-29 12:37:15 -08:00
Chris Peterson 249ac81315 Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Ehsan Akhgari a36190aea0 Bug 1111224 - Move TestExpirationTracker.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestExpirationTracker.cpp => xpcom/glue/tests/gtest/TestExpirationTracker.cpp
extra : rebase_source : 3961e36029257b2e923fe6597aadf684f93fcc41
2014-12-15 15:43:22 -05:00
Wes Kocher 3c86605997 Backed out changeset c6287220baaf (bug 1111224) for Windows build bustage on a CLOSED TREE
--HG--
rename : xpcom/glue/tests/gtest/TestExpirationTracker.cpp => xpcom/tests/TestExpirationTracker.cpp
2014-12-15 14:55:09 -08:00
Ehsan Akhgari b1b72d0f7b Bug 1111224 - Move TestExpirationTracker.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestExpirationTracker.cpp => xpcom/glue/tests/gtest/TestExpirationTracker.cpp
extra : rebase_source : 6c7ef5eccec61e97aef7e85195c01b11b8ff2f91
2014-12-15 15:43:22 -05:00
Ehsan Akhgari 77cc74f6d7 Bug 1111152 - Move TestEncoding.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestEncoding.cpp => xpcom/glue/tests/gtest/TestEncoding.cpp
extra : rebase_source : 4beccae061390e7b4dd6ba45113daea43865c63d
2014-12-15 15:42:41 -05:00
Ehsan Akhgari 5cf11173d2 Bug 1111151 - Move TestCRT.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestCRT.cpp => xpcom/glue/tests/gtest/TestCRT.cpp
extra : rebase_source : 95297289071d49a160cfd79a609ba81d3aaf994c
2014-12-15 15:41:37 -05:00
Ehsan Akhgari dd2247efcc Bug 1111149 - Move TestArray.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestArray.cpp => xpcom/glue/tests/gtest/TestArray.cpp
extra : rebase_source : 204c2aa966c3df9949efa182e865de404256f386
2014-12-15 15:39:28 -05:00
Ehsan Akhgari d9a12be136 Bug 1110956 - Port TestStrings.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestStrings.cpp => xpcom/glue/tests/gtest/TestStrings.cpp
extra : rebase_source : 07362a75215f15211a6ef9989a555dff5a7b5a23
2014-12-12 19:05:10 -05:00
Ehsan Akhgari 67cc0b04d5 Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.

--HG--
extra : rebase_source : b020e17c1973330b0dbbd6bf956c073cfdcb775e
2014-12-12 18:57:09 -05:00
Wes Kocher e39cbf38e2 Backed out changeset 95377313608b (bug 1101337) for linux debug build bustage 2014-12-12 16:34:43 -08:00
Wes Kocher 68470b7b1a Backed out changeset d468b88bdb23 (bug 1110956)
--HG--
rename : xpcom/glue/tests/gtest/TestStrings.cpp => xpcom/tests/TestStrings.cpp
2014-12-12 16:34:21 -08:00
Ehsan Akhgari 7e9c1a21d4 Bug 1110956 - Port TestStrings.cpp to gtest and enable it; r=froydnj
--HG--
rename : xpcom/tests/TestStrings.cpp => xpcom/glue/tests/gtest/TestStrings.cpp
2014-12-12 19:05:10 -05:00
Ehsan Akhgari 8bcf46c622 Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.
2014-12-12 18:57:09 -05:00
Ben Kelly 4ac2f623b5 Bug 1098004 Implement snappy compression framing protocol as nsI(Input|Output)Streams. r=froydnj 2014-12-12 14:12:27 -05:00
Ehsan Akhgari eb2d17cdf6 Backed out 2 changesets (bug 1101337) because of ASAN bustage landed on a CLOSED TREE
Backed out changeset ffef93ec94aa (bug 1101337)
Backed out changeset 2954a37bc2df (bug 1101337)
2014-12-12 13:04:44 -05:00
Ehsan Akhgari 2b3c79836e Bug 1101337 - Make the ReplaceSubstring() XPCOM string API linear; r=froydnj
ReplaceSubstring() is an O(n*m) algorithm (n being the length of the
string and m being the number of occurrences of aTarget) because we have
to move the remainder of the string, search it again and potentially
memmove most of it again as we find more matches.  This patch rewrites
that function to make it O(n+m).

Note that we currently don't build TestStrings.cpp, so the test case in
this patch is not run automatically, but the test case has been verified
to pass separately by moving the test function into Gecko and calling it
during startup and stepping through it in the debugger.

--HG--
extra : rebase_source : 0330c130520802392b92bd094dde85f57cfe6420
2014-12-12 11:47:55 -05:00
Wes Kocher 126b4f108e Backed out changeset bf25101e66cf (bug 1095098) for build bustage 2014-12-08 16:27:12 -08:00
Denis Volk 0f94bddfc8 Bug 1095098: move do_QueryObject templates into their own header r=froydnj 2014-11-20 12:20:10 +01:00
Gregory Szorc a98df2b053 Backout 69f755d4f257 (bug 1103825) for test failures
xpcom/tests/unit/test_nsIProcess.js and
xpcom/tests/unit/test_nsIProcess_stress.js were failing with this commit
applied. Backout out.

CLOSED TREE

--HG--
extra : amend_source : 79cda414c263d97e77309da6ec6d58718b91d199
2014-11-25 19:18:08 -08:00
Gregory Szorc cff551e7b7 Bug 1103825 - Use misc tier in xpcom/tests; r=mshal
--HG--
extra : rebase_source : 248423ffcf75acd406510dd350ccf4653a3c34b4
extra : histedit_source : 416af91a62eff97ca53596423d4124bf013293b4
2014-11-23 16:36:58 -08:00
Mike Hommey 7def0f9cd3 Bug 1097507 - Make libxul independent of libdmd when DMD is enabled. r=njn
This also effectively changes how DMD is enabled from requiring both
replace-malloc initialization and the DMD environment variable to
requiring only the former. The DMD environment variable can still be
used to specify options, but not to disable entirely.

This however doesn't touch all the parts that do enable DMD by setting
the DMD environment variable to 1, so the code to handle this value
is kept.
2014-11-18 19:21:06 +09:00
Aaron Klotz 91000480d2 Bug 1090389: Ensure that IOInterposer normalizes to long file names on Windows; r=froydnj 2014-11-12 14:01:45 -07:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Benjamin Bouvier a68d2993a2 Bug 997973: Call typed array and arraybuffer constructors with new in the tree; r=bz 2014-10-24 11:26:20 +02:00
Brian Marshall 1c5b3fd66a Bug 1079311 - Unlock mutex before logging error in RegisterContractIDLocked. r=bsmedberg 2014-10-08 16:08:28 -07:00