Commit Graph

726 Commits

Author SHA1 Message Date
Ben Kelly
944f182366 Bug 1133939 P2 Add tests validating nsPipeOutputStream AsyncWait behavior. r=froydnj 2015-02-21 09:51:17 -05:00
Ryan VanderMeulen
b46b5a25d9 Backed out changesets 4c2b179b71ae and c96050cdedd5 (bug 1133939) for asserts. 2015-02-20 20:00:19 -05:00
Ben Kelly
a841de0a71 Bug 1133939 P2 Add tests validating nsPipeOutputStream AsyncWait behavior. r=froydnj 2015-02-20 18:16:04 -05:00
Nicholas Nethercote
74cc61fdfd 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
6b26bfa2f3 Bug 1100398 P5 Provide NS_CloneInputStream() factory method in nsStreamUtils.h. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly
382ddfd269 Bug 1100398 P4 Make nsPipeInputStream cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly
b9cf64fc8c Bug 1100398 P3 Make nsStorageStream's input streams cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly
fc93a14f1a Bug 1100398 P2 Make nsStringInputStream cloneable. r=froydnj 2015-02-10 23:55:43 -05:00
Ben Kelly
5d2fa2eb2e 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
44179aabe3 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
c326200932 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
e2d6f1e1be 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
9735520732 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
e2a74d0deb 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
824818ee98 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
9dd095c383 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
8f3258d121 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
a77c062b13 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
80ca6ab60f 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
08b9e945de 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
56732537bb 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
f280039197 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
96d30963f7 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
8b2ad24204 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
1663d3dfd8 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
927a9f0a87 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
5475f76aba 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
5b4d2a28c9 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
23e0bd38fe Bug 1124058 - Move TestSynchronization.cpp to gtest and enable it; r=froydnj 2015-01-21 22:42:38 -05:00
Ehsan Akhgari
106d63bf75 Bug 1124048 - Move TestStorageStream.cpp to gtest and enable it; r=froydnj 2015-01-21 11:29:20 -05:00
Ehsan Akhgari
7fe7c8a531 Bug 1124047 - Move TestPriorityQueue.cpp to gtest and enable it; r=froydnj 2015-01-21 11:25:34 -05:00
Ehsan Akhgari
b5f52001c4 Bug 1124041 - Move TestPipes.cpp to gtest and enable it; r=froydnj 2015-01-21 11:21:10 -05:00
Nicholas Nethercote
c0a8a6e993 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
a5c8dbfaf4 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
943d34a148 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
5a62e7fcbf 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
9a3738d626 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
7e78186cb9 Bug 1121304 (part 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj. 2015-01-14 14:35:56 -08:00
Nicholas Nethercote
e7f3233097 Bug 1120476 (part 4) - Remove PLDHashTableOps::finalize. r=froydnj.
--HG--
extra : rebase_source : b14dda8cdd5cd896d1e32950e38b2a9f7da4d99e
2015-01-13 19:02:35 -08:00
Nicholas Nethercote
00b5865c2a Bug 1120476 (part 3) - Remove PLDHashTable::data. r=froydnj.
--HG--
extra : rebase_source : 24d10af3dbce3ada5252503bc80bb1a4e31bc1c9
2015-01-13 16:42:13 -08:00
Ehsan Akhgari
458ee49a87 Bug 1119254 - Mark virtual overridden functions as MOZ_OVERRIDE in xpcom; r=froydnj 2015-01-08 10:58:39 -05:00
Michael Pruett
9424a24884 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Ehsan Akhgari
26a8215eb5 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
d64094e4cb 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
4f80dee4e8 Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Christoph Kerschbaumer
646df4c292 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
c582a636ed Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Ehsan Akhgari
ccd9d981e3 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
d9fbcee0e5 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
4542874908 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