Commit Graph

5942 Commits

Author SHA1 Message Date
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
e19e5a4c25 Bug 1100398 P1 Add the nsICloneableInputStream interface. 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
Nathan Froyd
695f359c0c Bug 1036515 - narrow the scope of unlocking mMonitor in nsTimerImpl::PostTimerEvents; r=bsmedberg 2015-02-06 16:19:36 -05:00
Andrew McCreight
2b516fc573 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
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
Bobby Holley
a13ed18313 Bug 1129877 - Add a templatized move constructor for nsRefPtr. v1 r=froydnj 2015-02-10 13:45:02 -08:00
L. David Baron
ea80ec9aaa Bug 680547 bustage fix: Make #pragmas be #ifndef __clang__. No review. 2015-02-10 16:24:54 +11:00
L. David Baron
501b6ec2b7 Bug 680547 - Compile Linux 64-bit NS_InvokeByIndex with -mno-avx to allow compiling with -march=native on new hardware, or similar -march flags. r=froydnj
As explained in bug 1111355, having avx enabled appears to change the
alignment behavior of alloca (apparently adding an extra 16 bytes) of
padding/alignment (and using 32-byte alignment instead of 16-byte).  The
suggestion of using __bultin_alloca_with_align in bug 1111355 didn't fix
the problem, so this seems to be the best available workaround, given
that this code, which should perhaps better be written in assembly, is
written in C++.

Interestingly, this is NOT fixed by #pragma GCC target ("arch=x86-64").
(I determined the (undocumented) name for the default -march value on
x86_64 from the gcc source code (gcc/config/i386/i386.c, function
ix86_option_override_internal, code that sets opts->x_ix86_arch_string .)
I confirmed that this sets the same macros based on the empty diff
between the output of 'gcc -E -dM -x c++ /dev/null' and 'gcc -E -dM -x
c++ -march=x86-64 /dev/null', which was not an empty diff for other
-march values (e.g., k8).)

I confirmed that the push_options and pop_options actually work by
putting the push/pop pair around a different (earlier) function, and
testing that this did not fix the bug (with the pop_options before
NS_InvokeByIndex).

See the gcc documentation at:
https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Function-Specific-Option-Pragmas.html
https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Function-Attributes.html
https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/i386-and-x86-64-Options.html

--HG--
extra : transplant_source : %DA%7CJ4H%DE%80%15%84%0D%116%85Q%9A%F9%2C%D1v%16
2015-02-10 16:04:46 +11:00
Nicholas Nethercote
6ee3666899 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
8413cc973c Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Andrew McCreight
81c57c2add Back out Bug 1127201 (part 3) for various problems. 2015-02-06 15:04:00 -08:00
Andrew McCreight
58128548cf Bug 1125005 - Change the reentrance assertion in IncrementalFinalizeRunnable to a warning. r=smaug 2015-02-06 09:54:21 -08:00
Dhi Aurrahman
e0a3d64aa1 Bug 1125766 - Throw proper error types for TextEncoder(), TextDecoder() and TextDecoder.decode(). r=bz 2015-02-04 18:46:26 +07:00
Wes Kocher
e1292d67e5 Merge inbound to m-c a=merge CLOSED TREE 2015-02-05 16:55:01 -08:00
Dave Townsend
1590ebd9cf Bug 1083281: Use flags to determine which chrome and about URIs are loaded in the content process. r=mconley, r=bsmedberg, r=jduell, r=mratcliffe
--HG--
extra : rebase_source : beda0088e7715eeb41525b0123f308068745bd80
2015-02-05 08:09:15 -08:00
Nicholas Nethercote
1fcaf828a3 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
3629781b69 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
b0a555ead0 Bug 1050035 (part 5) - Make CCGraphBuilder::AddNode() infallible. r=mccr8.
--HG--
extra : rebase_source : 4ebe842e419f8b887b9e9b98f97c17fe103039bc
2015-02-02 23:58:42 -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
Xidorn Quan
c087d73ac5 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
a8d5780b14 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
fdcf9f2cbb 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
16c3ece3df 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
Masatoshi Kimura
06e7f14f32 Bug 1128273 - Stop using |typedef enum class tag_nsresult { ... } nsresult;| trick. r=froydnj 2015-02-02 23:44:25 +09: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
Masatoshi Kimura
7e11f87d71 Bug 1126269 - Part 3: Always use the C++11 enum class for nsresult. r=froydnj 2015-01-30 08:53:47 +09:00
Jim Mathies
803fb1d104 Bug 1095754 - Miscellaneous code cleanup nits found along the way. r=me 2015-01-29 13:41:57 -06:00
Daniel Holbert
f3eae59a87 Bug 1126808: Mark xpcom/build as FAIL_ON_WARNINGS. r=froydnj 2015-01-29 00:38:15 -08:00
Nicholas Nethercote
4dbdbf4389 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
Daniel Holbert
25f3906c04 Bug 1126923: #undef HAVE_STDINT_H (provided by mozilla-config.h) before including vpx headers, since they redefine it. r=froydnj 2015-01-28 19:01:46 -08:00
Ben Kelly
d1ad878d99 Bug 1126985 Fix xpcom/base build with --enable-warnings-on-errors. r=froydnj 2015-01-28 15:11:18 -05:00
Daniel Holbert
1e14fbad55 Bug 1126790: Move MainThreadIOLoggerImpl into anonymous namespace (joining a type used in one of its fields), to fix gcc warning. r=froydnj 2015-01-28 09:40:28 -08:00
Nicholas Nethercote
7acda68310 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
70b1eacc9e 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
8f48f04d55 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
bc465894bd 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
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
Daniel Holbert
7dec9ee7ed Bug 1125632 followup: Mark remaining CollectReports impls in nsMemoryReporterManager.cpp and SystemMemoryReporter.cpp as MOZ_OVERRIDE. 2015-01-27 09:48:54 -08: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
Nicholas Nethercote
5d97332734 Bug 1124920 - Remove PLDHashTable::Operate(). r=froydnj.
--HG--
extra : rebase_source : f029d3ca8835232b3c1d4188aa63a0004c1aad4b
2015-01-22 15:43:18 -08: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
Chris Peterson
b7db4eb02d 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
Chris Peterson
d7fbc67c12 Bug 1125693 - Fix -Wformat warning in xpcom/base/nsStackWalk.cpp and mark as FAIL_ON_WARNINGS. r=njn 2015-01-25 13:49:06 -08: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
Xidorn Quan
f57c5724db Bug 1124029 - Suppress different __unaligned qualifiers warnings. r=froydnj
--HG--
extra : source : e854844083bcb065d649eea337c558f05291a647
extra : histedit_source : 9563e1ccb80018ade7b7f21f563bdf6954f13e35
2015-01-27 08:37:38 +11:00
Daniel Holbert
fe7953382c Bug 1125632: Annotate ResidentUniqueReporter::CollectReports as MOZ_OVERRIDE. r=njn 2015-01-25 15:14:00 -08:00
Masatoshi Kimura
0676786e20 Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Masatoshi Kimura
ca6988b0d9 Bug 1111290 - Part 2: Non-mechanical changes. r=waldo 2015-01-26 07:22:08 +09:00
Jim Mathies
5cafb61bf9 Bug 1092525 - Enable e10s for Windows systems that activate accessibility through UIA. r=trev 2015-01-23 15:41:55 -06:00
Tom Schuster
8875fc0ed6 Bug 1125356 - Use JS_NewPlainObject in the browser. r=bz 2015-01-24 16:38:08 +01:00
Ehsan Akhgari
83b4685249 Bug 1125179 - Mark some functions generated by CC macros as override; r=mccr8 2015-01-23 14:27:18 -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
Carsten "Tomcat" Book
22bec65ed2 merge mozilla-inbound to mozilla-central a=merge 2015-01-22 14:30:51 +01:00
Geoff Lankow
860cd65acb Bug 675372 - Allow resource protocol mappings in chrome.manifest files of bootstrapped add-ons; r=Unfocused 2015-01-22 20:00:13 +13: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
Masatoshi Kimura
e5f1ce00e2 Bug 895582 - Get rid of MOZ_ENUM_TYPE. r=waldo 2015-01-21 22:35:19 +09:00
Jim Mathies
bab6a3c216 Bug 1121970 - Debug output from printf_stderr gets clipped on Windows. r=nfroyd 2015-01-20 08:18:26 -06:00
Ehsan Akhgari
689b863c1b Bug 1123007 - Mark ReadSegmentsClosure as stack class, and its mRealInputStream member as nsCOMPtr; r=froydnj 2015-01-21 22:42:39 -05:00
Ehsan Akhgari
1b43386d54 Bug 1123014 - Mark the nsWriteSegmentThunk as stack class, and its mStream member as nsCOMPtr; r=froydnj 2015-01-21 22:42:39 -05:00
Ehsan Akhgari
8de7d6f80d Bug 1123004 - Mark ReadSegmentsState as stack class, and its mThisStream member as nsCOMPtr; r=froydnj 2015-01-21 22:42:38 -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
Andrew McCreight
aa16aac399 Bug 1120495 - Don't assert if FinishAnyCurrentCollection reenters during CleanupPhase. r=smaug 2015-01-21 14:35:54 -08:00
Nicholas Nethercote
6fdca0e7b6 Bug 1123533 - Clarify thread handling in NS_StackWalk() on Windows. r=ehsan.
- The way NS_StackWalk() sets up |targetThread| and |data.walkCallingThread| is
  hard to read.

- The name |shouldBeThreadSafe| is unclear -- for a long time I thought it
  meant "we are thread-safe, so we can print" and I thought it was named
  incorrectly. But now I see it actually means the opposite, i.e. "we need to
  be thread-safe, so we can't print". So |needToBeThreadSafe| would be
  clearer...

- ...but |shouldBeThreadSafe| shouldn't be used anyway, because
  |data.walkCallingThread| is better -- it correctly handles the case where
  |aThread| is the current thread -- and it's what WalkStackMain64() uses.

This patch fixes these problems.

--HG--
extra : rebase_source : f1310f72db1e10c25e77af54a1d6df4114e59314
2015-01-19 19:19:55 -08:00
Nicholas Nethercote
f015f4adb2 Bug 1123151 (part 3) - Make PLDHashTable::ops private. r=froydnj.
This required adding a getter and a setter, but they're used sparingly.

--HG--
extra : rebase_source : 2a40e459de2a7a9e2bb6d65b046e4a920b212326
2015-01-19 16:34:44 -08: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
Trevor Saunders
43229d1314 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Ehsan Akhgari
f2ea365c3b Bug 1123121 - Mark all nsCOMPtr_helper classes as stack class; r=froydnj 2015-01-19 12:39:36 -05:00
Ehsan Akhgari
5300f42a32 Bug 1123009 - Make nsAppDirectoryEnumerator::mProvider an nsCOMPtr; r=froydnj 2015-01-19 12:38:17 -05:00
Ehsan Akhgari
5cf7613cc2 Bug 1123006 - Mark FileData as stack class, and its data member as nsCOMPtr; r=froydnj 2015-01-19 12:37:48 -05:00
Ehsan Akhgari
fe8780146e Bug 1123003 - Clarify the ownership of xptiInterfaceInfo pointers in xptiprivate.h; r=froydnj 2015-01-19 12:37:07 -05:00
Ehsan Akhgari
d4a2ec7dbf Bug 1123000 - Mark nsDiscriminatedUnion::mInterfaceValue as owning; r=froydnj 2015-01-19 10:00:33 -05:00
Ehsan Akhgari
59d84203a2 Bug 1122999 - Mark the fOuter member defined by NS_DECL_AGGREGATED as unsafe; r=froydnj 2015-01-19 10:00:32 -05:00
Ehsan Akhgari
6b2552fda4 Bug 1122991 - Mark findIndexOfClosure as stack class, and make its targetElement member a void*; r=froydnj 2015-01-19 10:00:32 -05:00
Ehsan Akhgari
f9ad2fe834 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
8b1fa5a577 Bug 1123109 - Mark nsStaticAtom::mStringBuffer as non-owning; r=froydnj 2015-01-19 09:05:44 -05:00
Ehsan Akhgari
8fb654f8ea Bug 1123098 - Mark two members of nsCOMPtr_helper classes as non-owning; r=froydnj 2015-01-19 09:04:27 -05:00
Ehsan Akhgari
bff7b1f7c4 Bug 1122996 - Convert nsSupportsArrayEnumerator::mArray into an nsCOMPtr; r=froydnj 2015-01-19 09:03:56 -05:00
Ehsan Akhgari
56dfa74dcd Bug 1122995 - Clarify the lifetime rules applying to the permanent and non-permanent nsIATOM* members in nsAtomTable.cpp; r=froydnj 2015-01-19 09:03:10 -05:00
Ehsan Akhgari
32f1fc1f6e Bug 1122986 - Mark nsQueryElementAt::mCollection as non-owning; r=froydnj 2015-01-19 09:00:25 -05:00
Ehsan Akhgari
056d3a8525 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
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
Ehsan Akhgari
54ef9723e3 Bug 1123110 - Clarify the ownership of several cycle collector members; r=mccr8 2015-01-18 18:43:02 -05:00
Valentin Gosu
a0a77afc6c Bug 1121826 - backout cc192030c28f - brackets shouldn't be automatically escaped in the Query r=mcmanus 2015-01-17 16:13:21 +02:00
Cameron McCormack
198ed1a26c Bug 1120047 - Fix glibc version check guards for and importing of __libc_stack_end. r=glandium 2015-01-17 15:02:01 +11:00
Bill McCloskey
ee8071c5fb Bug 1122303 - nsIProcess::Run needs to handle EINTR on Mac (r=nfroyd) 2015-01-16 09:57:33 -08:00
Michael Pruett
3602592a17 Bug 1121202 - Add Lookup, Add, and Remove methods to PLDHashTable. r=njn 2015-01-15 18:01:28 -06:00
Michael Pruett
b832b9ff84 Bug 1121202 - Remove unused PL_DHashTableOperate function. r=njn 2015-01-15 18:01:07 -06:00
Makoto Kato
430862137c Bug 1121829 - Support redirection of kernel32.dll for hooking function. r=dmajor 2015-01-16 23:07:09 +09:00
Nicholas Nethercote
bf937eb0ab Bug 1121830 - DMD: add "num" property to blocks in the output. r=mccr8.
The new "num" property lets identical blocks be aggregated in the output. This
patch only uses the "num" property for dead blocks, because that's where the
greatest potential benefit lies, but it could be used for live blocks as well.

On one test case (a complex PDF file) running with --mode=cumulative
--sample-below=1 this patch had the following effects.

- Change in running speed was negligible.

- Compressed output file size dropped from 8.8 to 5.0 MB.

- Compressed output file size dropped from 297 to 50 MB.

- dmd.py runtime (without stack fixing) dropped from 30 to 8 seconds.

--HG--
extra : rebase_source : 46a32058cd5c31cd823fe3f1accb5e68bcd320f3
2015-01-15 20:38:38 -08:00
Nicholas Nethercote
4dd11eefe4 Bug 1122337 - Mark DMD directories as FAIL_ON_WARNINGS. r=glandium.
The DEFINES and XPCOM_API changes are needed to get rid of "inconsistent dll
linkage" warnings on Windows builds.

--HG--
extra : rebase_source : 00756f51ebee85c70f65d51dbac17b4835262697
2015-01-15 21:17:18 -08:00
Birunthan Mohanathas
11ebbbf7d4 Bug 1060696 - Remove nsISupportsObsolete.h. r=froydnj 2015-01-16 07:34:51 +02:00
Birunthan Mohanathas
78413a64fb Bug 1060696 - Remove NS_INIT_ISUPPORTS. r=froydnj 2015-01-16 07:34:46 +02:00
Birunthan Mohanathas
85214379b3 Bug 1121451 - Fix 'truncation of constant value' warnings in nsINIParser.cpp. r=froydnj 2015-01-16 07:34:42 +02:00
Trevor Saunders
3f83c69ae4 bug 1077549 - remove useless gcc version checks r=glandium 2015-01-15 21:30:05 -05: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
Nicholas Nethercote
09c7443b86 Bug 1121304 (part 1, attempt 2) - Minor type clean-ups for PLDHashTable. r=froydnj.
--HG--
extra : rebase_source : cccc747bf900804a566853d8eb7f16cf82a26978
2015-01-14 14:35:45 -08:00
Boris Zbarsky
20da84c169 Bug 1107953 part 5. Add tests for promise rejections with content-side DOMExceptions, and fix the promise code so those tests actually pass. r=bholley 2015-01-15 17:39:02 -05:00
Daniel Stenberg
944aa1170e Bug 1008091 - send network change events on FxOS and Linux, r=sworkman 2015-01-15 00:22:00 +01: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
364e4fe100 Bug 1121304 (part 1) - Minor type clean-ups for PLDHashTable. r=froydnj. 2015-01-14 14:35:45 -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
Brian Smith
1a3d2e92d2 Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg
--HG--
extra : rebase_source : 3fc7e4e83f57252e15cf32846f23e497f8532ea5
2015-01-08 22:35:33 -08:00
Ehsan Akhgari
a744779bf5 Bug 1097452 - Use fallible allocation when setting the value of an <input> or <textarea> element; r=jst,froydnj
This patch handles most of the call sites for these allocations except
for a few where I added TODO comments with some information.  Handling
those places may require reworking lots of code, so I prefer to not do
that here.
2015-01-14 17:31:41 -05:00
Wes Kocher
61766b8b01 Merge m-c to fx-team a=merge 2015-01-13 17:47:46 -08:00
Brad Lassey
5638b75f34 bug 1096718 - - display time measured spent in each compartment r=billm,mossop 2015-01-13 17:38:05 -08:00
Mats Palmgren
303ca62864 Bug 1120198 part 1 - Introduce nsTHashtable::SwapElements for a fast way to swap the elements of two hashtables. r=nfroyd 2015-01-13 14:44:33 +00:00
Birunthan Mohanathas
60aff802ee Bug 1115061 - Ignore calls to BackgroundHangMonitor::Notify{Activity,Wait} when Telemetry is disabled. r=froydnj 2015-01-13 06:41:15 +02:00
ffxbld
9c0589f4eb Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-01-12 15:33:37 -05:00
Masatoshi Kimura
f70d08c5aa Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Jim Chen
3a859201f0 Bug 1113416 - Don't read stack labels inside hang monitor sighandler; r=nfroyd r=snorp
When we're inside the hang monitor's signal handler, we must not read any string labels. Doing so may result in on-demand decompression kicking in on Android, which may result in a deadlock.
2015-01-10 12:41:48 -05:00
Chris Peterson
0b8b25193e Bug 1118076 - Remove MOZ_THIS_IN_INITIALIZER_LIST. r=Waldo 2015-01-06 21:39:46 -08:00
Jim Chen
c02561a822 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
James Willcox
16dc163af8 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Andrew McCreight
5fc5c56d66 Bug 1119449 - Disable unified compilation of nsStackWalk.cpp to avoid OSX issue. r=ehsan 2015-01-09 12:41:50 -08:00
Ryan VanderMeulen
10d318b1c6 Backed out changeset c358e102e573 (bug 1008091) for B2G mochitest failures.
CLOSED TREE
2015-01-09 11:54:14 -05:00
Daniel Stenberg
f602835f32 Bug 1008091 - Send network change events on FxOS and Linux. r=sworkman 2015-01-07 03:20:00 -05:00
Nicholas Nethercote
489f7fe150 Bug 1088343 (part 1) - Get NS_StackWalk working on Win64. r=aklotz.
--HG--
extra : rebase_source : 9b8262bba126a98b2c5007ee8e149f92e702f5a7
2015-01-08 16:00:07 -08:00
Nicholas Nethercote
56c80496db Bug 1088343 (part 0) - Clean up the windows implementation of NS_StackWalk a little. r=ehsan.
--HG--
extra : rebase_source : fb31dbf446f5485e5aea6b22687e32ff595efb0b
2015-01-08 15:13:21 -08:00
Ehsan Akhgari
b6e35bb4b4 Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Andrew McCreight
8590b36083 Bug 1118044, part 2 - Use GCCellPtr in NoteJSChild. r=smaug,terrence
Also, strongly type the JS_TraceShapeCycleCollectorChildren function, and add an
isShape() method to GCCellPtr.
2015-01-08 15:30:54 -08:00
Andrew McCreight
643e2a84ac Bug 1118044, part 1 - Use GCCellPtr in CycleCollectedJSRuntime::TraverseGCThing. r=smaug 2015-01-08 15:30:54 -08:00
Andrew McCreight
b3c22ad14e Backout bug 1052793 for exposing bad decommitting behavior for compartmental GCs. 2015-01-08 09:54: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
Jon Coppeard
72a59b3b64 Bug 1099152 - Make external GC APIs take invocation kind as a parameter r=terrence r=mccr8 2015-01-02 17:19:43 +00:00
Nicholas Nethercote
8582ff9187 Bug 1014341 (part 1) - Remove trace-malloc. r=dbaron,glandium.
--HG--
extra : rebase_source : 771710c5427141d738eef112fab00951eb8e20e3
2015-01-07 16:13:03 -08: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
6871466493 Bug 1116906 - Move AlreadyAddRefed.h to MFBT; r=froydnj 2015-01-07 11:51:29 -05: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
Ms2ger
0873f3b53f Bug 1117068 - Part c: Remove NEED_CPP_UNUSED_IMPLEMENTATIONS; r=mshal
It is only used in one place, and that place is better off with MOZ_DELETE.
2015-01-05 19:18:58 +01:00
Nathan Froyd
d45572ca64 Bug 1117853 - remove duplicate mozilla/Attributes.h #include; r=bsmedberg 2014-01-22 18:37:02 -05:00