Commit Graph

2856 Commits

Author SHA1 Message Date
Nicholas Nethercote
3163cfc2c1 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
Daniel Holbert
98fd7110d5 Bug 1125632 followup: Mark remaining CollectReports impls in nsMemoryReporterManager.cpp and SystemMemoryReporter.cpp as MOZ_OVERRIDE. 2015-01-27 09:48:54 -08:00
Chris Peterson
7251d442c0 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
Daniel Holbert
8ccda8f49a Bug 1125632: Annotate ResidentUniqueReporter::CollectReports as MOZ_OVERRIDE. r=njn 2015-01-25 15:14:00 -08:00
Masatoshi Kimura
6cc5dabbee 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
86502e6537 Bug 1111290 - Part 2: Non-mechanical changes. r=waldo 2015-01-26 07:22:08 +09:00
Andrew McCreight
c9ef92b837 Bug 1120495 - Don't assert if FinishAnyCurrentCollection reenters during CleanupPhase. r=smaug 2015-01-21 14:35:54 -08:00
Nicholas Nethercote
af2a8de28a 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
Masatoshi Kimura
9656ec51c3 Bug 895582 - Get rid of MOZ_ENUM_TYPE. r=waldo 2015-01-21 22:35:19 +09: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
Trevor Saunders
6c486b0407 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Ehsan Akhgari
fa5c39586f Bug 1123121 - Mark all nsCOMPtr_helper classes as stack class; r=froydnj 2015-01-19 12:39:36 -05:00
Ehsan Akhgari
4f8f88a90d 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
aa32fa615f Bug 1123110 - Clarify the ownership of several cycle collector members; r=mccr8 2015-01-18 18:43:02 -05:00
Cameron McCormack
5f39b00c79 Bug 1120047 - Fix glibc version check guards for and importing of __libc_stack_end. r=glandium 2015-01-17 15:02:01 +11:00
Nicholas Nethercote
a479e9ccad 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
059cf96c41 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
2e11419734 Bug 1060696 - Remove nsISupportsObsolete.h. r=froydnj 2015-01-16 07:34:51 +02: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
Boris Zbarsky
6a93d5c443 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
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
Brian Smith
ea66053341 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
Masatoshi Kimura
bf312ad056 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Jim Chen
db34c64f29 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
James Willcox
352dabf6d6 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Andrew McCreight
74718f3dd4 Bug 1119449 - Disable unified compilation of nsStackWalk.cpp to avoid OSX issue. r=ehsan 2015-01-09 12:41:50 -08:00
Nicholas Nethercote
05ce5cbc4a 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
0c3e01557d 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
4354953b4f 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
82f576b6d9 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
37e6ea860b Bug 1118044, part 1 - Use GCCellPtr in CycleCollectedJSRuntime::TraverseGCThing. r=smaug 2015-01-08 15:30:54 -08:00
Andrew McCreight
c9b9054838 Backout bug 1052793 for exposing bad decommitting behavior for compartmental GCs. 2015-01-08 09:54:13 -08:00
Jon Coppeard
0b1dcc49a2 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
97b5d348cc 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
62960a5119 Bug 1118024 - Add explicit PL_DHashTable{Add,Lookup,Remove} functions. r=nfroyd 2015-01-05 20:26:50 -06:00
Ehsan Akhgari
bbb500e982 Bug 1116906 - Move AlreadyAddRefed.h to MFBT; r=froydnj 2015-01-07 11:51:29 -05: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
Ryan VanderMeulen
4d0783188e Backed out 5 changesets (bug 1099152, bug 1117098) for causing frequent B2G debug timeouts.
Backed out changeset 4feee07c34ad (bug 1117098)
Backed out changeset 168e5b9bf198 (bug 1099152)
Backed out changeset 9192d432d87e (bug 1099152)
Backed out changeset 8b891ebcd21f (bug 1099152)
Backed out changeset 24dae3ce853d (bug 1099152)
2015-01-05 12:38:18 -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
Jon Coppeard
f1d487e594 Bug 1099152 - Make external GC APIs take invocation kind as a parameter r=terrence r=mccr8 2015-01-02 17:19:43 +00:00
Wes Kocher
6d40130fd9 Backed out 5 changesets (bug 1099152) for hazard build failures on a CLOSED TREE
Backed out changeset 3d195c54dcf1 (bug 1099152)
Backed out changeset e5a903979b5f (bug 1099152)
Backed out changeset 969965f4c893 (bug 1099152)
Backed out changeset 1e4e3b85c620 (bug 1099152)
Backed out changeset 501a22044336 (bug 1099152)
2015-01-02 12:43:48 -08:00
Jon Coppeard
706b85bf8f Bug 1099152 - Make external GC APIs take invocation kind as a parameter r=terrence r=mccr8 2015-01-02 17:19:43 +00:00
Aaron Klotz
b0f6244ad7 Bug 998863: Asynchronous Plugin Initialization, Part 2: dom/plugins/base changes; r=johns,josh 2014-12-29 16:12:40 -07:00
Phil Ringnalda
0c888c27eb Backed out 15 changesets (bug 1070755, bug 998863) for e10s bustage
CLOSED TREE

Backed out changeset 076d1d47d601 (bug 1070755)
Backed out changeset 43819af59ca5 (bug 998863)
Backed out changeset 5f587697ae63 (bug 998863)
Backed out changeset e2cf239e8572 (bug 998863)
Backed out changeset fe21b6b789ce (bug 998863)
Backed out changeset 404f59f86edc (bug 998863)
Backed out changeset 5dd57abaf2b0 (bug 998863)
Backed out changeset 6c1f006a03bc (bug 998863)
Backed out changeset 9e69875e3667 (bug 998863)
Backed out changeset c6b68f8f72ba (bug 998863)
Backed out changeset 713799a7afe4 (bug 998863)
Backed out changeset 4244d662787c (bug 998863)
Backed out changeset ba058cc7a1b2 (bug 998863)
Backed out changeset dabc69b0b09a (bug 998863)
Backed out changeset 18dad6d2e7cc (bug 998863)
2014-12-24 18:28:45 -08:00
Aaron Klotz
15edf3ffa5 Bug 998863: Asynchronous Plugin Initialization, Part 2: dom/plugins/base changes; r=johns,josh 2014-12-24 17:55:58 -07:00
Ehsan Akhgari
9297631e0b Bug 1114880 follow-up: Rename MOZ_{STRONG,WEAK}_REF to MOZ_{OWNING,NON_OWNING}_REF
--HG--
extra : rebase_source : 51fff0785d112b5b87be3c6ff723c8986b37effe
2014-12-23 21:17:50 -05:00