Commit Graph

13931 Commits

Author SHA1 Message Date
Jan de Mooij
976586cb5f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Wes Kocher
b4ebe3c719 Merge m-c to inbound, a=merge 2015-06-29 17:28:20 -07:00
ffxbld
264ecae3ce Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-06-29 13:34:04 -07:00
Ryan VanderMeulen
872107fe72 Backed out changeset a1089f3645fc (bug 1151506) because it didn't fix the crashes it was intended to. a=lizzard 2015-06-29 14:53:55 -04: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
David Major
d15cf4043f Bug 1151506: Work around broken binary callers of xptiInterfaceInfo. r=froydnj
--HG--
extra : rebase_source : 7a27a2da649ab44113525dec7f2ea365688c1c81
2015-06-26 10:33:44 -07:00
Nathan Froyd
2c8aa84236 Bug 1178317 - eliminate large static constructor from ShimInterfaceInfo.cpp; r=poiru
Constructing kComponentsInterfaceShimMap required a static constructor
on some compilers, due to a non-constexpr constructor and the necessity
of copying non-constexpr things like nsIID.  This static constructor is
large (several kilobytes of object code on x86-64) and completely
unnecessary.

To fix this, let's add a constexpr (well, MOZ_CONSTEXPR) constructor to
ComponentsInterfaceShimEntry.  This change alone doesn't completely
solve our problem, because the nsIID member still needs to be copied.
But doing that copying is silly: we only use the IID for constructing a
ShimInterfaceInfo in ShimInterfaceInfo::MaybeConstruct, and the
ShimInterfaceInfo constructor takes a const reference.  So let's store a
const reference in ComponentsInterfaceShimEntry, too, and make that
structure significantly smaller in the process.
2015-06-29 10:59:59 -04:00
Nathan Froyd
4d01d51096 Bug 1178363 - make nsTimerImpl::GetGeneration a private method; r=poiru
Since GetGeneration() is only called by nsTimerEvent, it doesn't need to
be public.
2015-06-29 13:09:11 -04:00
Nathan Froyd
ed7e987ecb Bug 1178363 - make nsTimerImpl::PostTimerEvent a private method; r=poiru
PostTimerEvent is only called by the timer thread, which is already able
to access private members of nsTimerImpl; there's no reason for
PostTimerEvent to be public.
2015-06-29 10:33:30 -04:00
Nathan Froyd
889fc1ad61 Bug 1178363 - make MOZ_TASK_TRACER-dependent bits of nsTimerImpl private; r=poiru
GetTracedTask() is only called from nsTimerImpl itself, so it doesn't
need to be public.  GetTLSTraceInfo() is called from the timer thread,
which has access to our private members already.
2015-06-18 12:02:23 -04:00
Nathan Froyd
4fea06a3a3 Bug 1178363 - make nsTimerImpl::Fire a private method; r=poiru
This method is only called by nsTimerEvent, which is an implementation
detail of nsTimerImpl.
2015-06-18 12:00:56 -04:00
Nathan Froyd
22b75ae28f Bug 1178363 - make nsTimerImpl::SetDelayInternal a private method; r=poiru
Nothing outside nsTimerImpl uses it, and with a name like
"SetDelayInternal", nothing should.
2015-06-17 21:40:18 -04:00
Ryan VanderMeulen
5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
David Major
17a51c4514 Bug 1151506 - Null-check the count parameter in GetConstantCount. r=froydnj 2015-06-24 09:07:11 -07:00
Chris Peterson
cd8ae89cff Bug 1175049 - Fix non-universal 32-bit build on OS X with Xcode 6.3 tools. r=josh 2015-06-14 00:20:27 -07:00
Bill McCloskey
a2c6c7d4bf Bug 1143006 - Show warning for http-on-* in child process (r=mrbkap) 2015-06-19 17:35:06 -07:00
Benoit Girard
8d6a67f6d3 Bug 1172216 - Move nsStackwalk to mozglue. r=glandium
--HG--
rename : xpcom/base/nsStackWalk.cpp => mozglue/misc/StackWalk.cpp
rename : xpcom/base/nsStackWalk.h => mozglue/misc/StackWalk.h
extra : commitid : EMbWGfjKvdq
extra : rebase_source : b7308eb569cc1a019d3b7a92aaff0de7a49b5682
2015-06-10 16:32:45 -04:00
Benoit Girard
2c6df6a9a9 Bug 858927 - Move the mozilla::TimeStamp into mozglue. r=glandium
--HG--
rename : xpcom/ds/TimeStamp.cpp => mozglue/misc/TimeStamp.cpp
rename : xpcom/ds/TimeStamp.h => mozglue/misc/TimeStamp.h
rename : xpcom/ds/TimeStamp_darwin.cpp => mozglue/misc/TimeStamp_darwin.cpp
rename : xpcom/ds/TimeStamp_posix.cpp => mozglue/misc/TimeStamp_posix.cpp
rename : xpcom/ds/TimeStamp_windows.cpp => mozglue/misc/TimeStamp_windows.cpp
rename : xpcom/ds/TimeStamp_windows.h => mozglue/misc/TimeStamp_windows.h
extra : commitid : 2MSXRaRzXEd
extra : rebase_source : 45ded19677e8557deb3b9203777656f5a13f6c04
2015-06-05 16:03:11 -04: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
Carsten "Tomcat" Book
78ccc28817 merge mozilla-inbound to mozilla-central a=merge 2015-06-18 15:13:19 +02:00
Tom Tromey
0b980d99e6 Bug 1159507 - make allocation times consistent with timeline; r=fitzgen,mccr8 2015-06-17 13:01:27 -07: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
fb490785c1 Bug 1173600 (part 2) - Move post-enumeration shrinking code into its own function. r=froydnj.
This will allow it to be re-used by the removing iterator class.

--HG--
extra : rebase_source : 2bdd33427894c291aa507469628a3ba99b80c568
2015-06-10 16:36:02 -07:00
Nicholas Nethercote
e8172cd960 Bug 1173600 (part 1) - Tweak PLDHashTable post-enumeration shrinking. r=froydnj.
This patch factors out the existing capacity calculation code in HashShift()
into a new function called BestCapacity(), and then reuses it for
post-enumeration shrinking.

BestCapacity() computes capacity with |CeilingLog2(ceil(length * 4 / 3))|,
which ensures a minimum capacity while respecting the "max 75% full" and
"capacity is a power of two" constraints. In contrast, the old post-enumeration
shrink calculation was |CeilingLog2(length + length/2)|, which gives higher
results in some cases. (Both calculations also ensured the capacity wasn't too
small.) E.g. if length is 48, the former calculation will give 64, while the
latter will give 128.

Therefore, post-enumeration shrinking will no longer give a
larger-than-necessary capacity some cases. This feels like the right thing to
do in isolation, and making it consistent with HashShift() -- used during table
construction -- is also good.

--HG--
extra : rebase_source : 55e982b601c345d10da7abd03a13aec3f5b61598
2015-06-10 13:54:06 -07:00
Boris Zbarsky
075355a9e5 Bug 1175601. Make nsIFile.getRelativeDescriptor work with paths with paths with arbitrary numbers of segments, not just 32. r=froydnj 2015-06-17 16:17:22 -04:00
Boris Zbarsky
bf8f45932e Bug 1175600. Add getRelativePath/setRelativePath to nsIFile. r=froydnj 2015-06-17 16:17:20 -04:00
Nicholas Nethercote
e94846adea Bug 11746250 (follow-up) - Fix link errors on Linux and Android. r=me. 2015-06-16 23:48:53 -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
Andrew McCreight
e7103d0010 Bug 1174796 - Make sure ReleaseNow releases everything. r=smaug 2015-06-16 14:19:07 -07:00
Shelly Lin
4eff0a1842 Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker
--HG--
extra : rebase_source : b5e012fb6570e87270a0924fbe395dc56e6242ec
2015-06-16 10:57:19 +08:00
Wes Kocher
6eeeb31ce1 Merge m-c to inbound, a=merge 2015-06-15 18:34:29 -07:00
Boris Zbarsky
3437c1a714 Bug 1174486 part 4. Stop reporting exceptions in nsJSUtils::EvaluateString and have its consumers use AutoJSAPIs that take ownership of error reporting instead. r=bholley 2015-06-15 20:11:06 -04:00
Ryan VanderMeulen
e1c356ee7a Merge m-c to fx-team. a=merge 2015-06-15 15:59:05 -04:00
Florian Quèze
46202ff411 Bug 1109354 - prefer Firefox default engines over profile-installed plugins with the same name, r=markh.
--HG--
extra : rebase_source : cdf4cb2b3969a9ac797f61c3f0b4f081353582e4
2015-06-15 18:32:09 +02:00
Terrence Cole
7afa7dfb04 Bug 1173889 - Strongly type the CallbackTracer dispatch function; r=jonco, r=mccr8
--HG--
extra : rebase_source : 413319f0701f8e92b8fc1c79a51f4a09c2c5cd39
2015-06-11 10:03:33 -07:00
Ted Mielczarek
e334ff0faa bug 1171574 - XPCOMGlue doesn't need LEADING_UNDERSCORE for iOS. r=froydnj
--HG--
extra : commitid : LBrmqR9ER7F
extra : rebase_source : 4eae25899a0a82b1e09be04570fab7927ca0354a
2015-02-10 15:36:37 -05:00
Ted Mielczarek
2599be2191 bug 1171125 - Fix nsStackWalk to build for iOS. r=froydnj
--HG--
extra : commitid : 611nBr14g2p
extra : rebase_source : e2a00b1ed8048fcb04732c3225e3fe938247b0d3
2015-02-04 10:50:10 -05:00
Ted Mielczarek
5ad09caf62 bug 1171124 - Swap some XP_MACOSX for XP_DARWIN in nsLocalFileUnix. r=froydnj
--HG--
extra : commitid : 3q0r3528Awn
extra : rebase_source : 2e959724508569d186623ab88b8b532e539caaba
2015-02-04 10:49:45 -05:00
Ted Mielczarek
572d721921 bug 1170586 - Make TimeStamp::FromSystemTime available on iOS. r=froydnj
--HG--
extra : commitid : 6y2iIFXPKyP
extra : rebase_source : 7c8e19589f5c005ff3c4c2f4158f1ac04394c269
2015-01-30 15:32:48 -05:00
Ted Mielczarek
407aefe079 bug 1170585 - Don't try to build IO Poisoning on iOS. r=froydnj
--HG--
extra : commitid : HsQHFJ8l0Sd
extra : rebase_source : 065c73006250b5db82987cb0d42bf04be7e0648c
2015-02-27 12:38:27 -05:00
Nicholas Nethercote
d2a5b36906 Bug 1174046 - Fix PLDHashTable::Iterator in chaos mode again. r=froydnj.
If you use PLDHashTable::Iterator in chaos mode with a table with zero
capacity, a |% 0| operation takes place in randomUint32LessThan. This change
avoids that.

--HG--
extra : rebase_source : 85f2affb57c2402f40f3d117434b8300e7f204b7
2015-06-11 18:23:26 -07:00
Nicholas Nethercote
ea80354c08 Bug 1172782 - Change how nsTHashtable::Clear() works. r=froydnj.
This change reimplements nsTHashtable::Clear() using PLDHashable::Clear(). This
changes its semantics slightly -- the old version would clear the table but
leave its capacity unchanged. The new version will adjust the capacity
to the default, though the entry storage will only be re-allocated when the
first new element is added.
2015-06-10 13:07:40 -07:00
Eric Rahm
ae0305135a Bug 1171722 - Part 4: Don't warn if DebuggerOnGCRunnable::Enqueue fails during shutdown. r=mccr8 2015-06-10 21:31:35 -07:00
Nicholas Nethercote
977758d61c Bug 1172761 (part 2) - Remove PL_DHashTableEnumerator use from nsPersistentProperties. r=froydnj.
The old code attempted to deal with any OOMs during this enumeration --
OOMs are possible because it's growing an nsCOMArray -- but failed to do so
correctly.

- It didn't check the return value of AppendObject().

- It did check that EntryCount() matched the return value of
  PL_DHashTableEnumerate(), but that's always (and vacuously) true.

The new code just returns NS_ERROR_OUT_OF_MEMORY if AppendObject() fails; this
is trivial now that it uses an iterator and doesn't have to call out to another
function.
2015-06-10 13:07:40 -07:00
Nicholas Nethercote
97aa68b77f Bug 1172761 (part 1) - Remove PL_DHashTableEnumerator use from nsAtomTable. r=froydnj.
--HG--
extra : rebase_source : 54fc0b6e09fe55a879212e666a682eaf76ab4f7b
2015-06-10 13:07:40 -07:00
Birunthan Mohanathas
3aad780da9 Bug 968520 - Always require fallible argument with FallibleTArray calls. r=froydnj 2015-06-10 14:30:41 -07:00
Nick Fitzgerald
6e561802a9 Bug 1141614 - Part 3: Trace cycle collection with AutoGlobalTimelineMarker; r=smaug 2015-06-10 14:05:53 -07:00
Nicholas Nethercote
b9657718d7 Bug 1173212 (part 2) - Make PLDHashTable::Iterator work in chaos mode. r=froydnj.
Iterator::NextEntry() miscomputes |entryLimit|. This doesn't matter in
non-chaos mode because we'll always find a live entry before hitting that
limit. But it does matter in chaos mode because it means we don't wrap around
when we should.

It's clear how this mistake was made -- the code from Enumerate() was copied.
In Enumerate() |mEntryStore| and |entryAddr| are the same when |entryLimit| is
computed, so you can use them interchangeably. But in NextEntry() |mEntryAddr|
will have moved past |mEntryStore|, so you have to use |mEntryStore|. I changed
both functions in the same way to keep the correspondence between them obvious.

--HG--
extra : rebase_source : f27558b3179be394526d1c3f82ffbae0fb58b2b9
2015-06-10 12:47:18 -07:00
Nicholas Nethercote
9d20c7e3aa Bug 1173212 (part 1) - Remove some can't-fail tests in PLDHashTable. r=froydnj.
--HG--
extra : rebase_source : 2d1c0111bf8bd13b76fe4e88da92ba367e6482d9
2015-06-10 12:47:18 -07:00