Commit Graph

6445 Commits

Author SHA1 Message Date
Wes Kocher
5fe15ee75d Backed out changeset 9814f77d258b (bug 1179924) for frequent random serviceworkers failures CLOSED TREE 2015-07-10 12:48:34 -07:00
Andrew McCreight
8b32bfc1cd Bug 1179924 - Create a more modern JS object holder for cross-thread references to JS objects. r=smaug 2015-07-10 07:41:33 -07:00
Nicholas Nethercote
1e82056a83 Bug 1181445 (part 13) - Use nsBaseHashTable::Iterator in xpcom/ds/. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
00c571d40d Bug 1181445 (part 12) - Use nsBaseHashTable::Iterator in xpcom/threads/. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
007bfec9d7 Bug 1181445 (part 11) - Use nsBaseHashTable::Iterator in xpcom/glue/. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
6aa796e98a Bug 1181445 (part 10) - Use nsBaseHashTable::Iterator in CycleCollectedJSRuntime. r=mccr8. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
16b5e58866 Bug 1181445 (part 9) - Use nsBaseHashTable::Iterator in nsConsoleService. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
85c9fe03d6 Bug 1181445 (part 8) - Use nsBaseHashTable::Iterator in SystemMemoryReporter. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
5fab70f466 Bug 1181445 (part 7) - Use nsBaseHashTable::Iterator in xpcom/reflect/. r=froydnj. 2015-07-09 16:54:59 -07:00
Nicholas Nethercote
fa9f361c39 Bug 1181445 (part 6) - Use nsBaseHashTable::Iterator in xpcom/components/. r=froydnj.
Note that enumfunc_pentries and persistent_userstruct are unused, and so could
be removed.
2015-07-09 16:54:59 -07:00
Nicholas Nethercote
7c6fd99057 Bug 1181445 (part 5) - Use nsTHashTable::Iterator in nsTHashtable.h. r=mccr8.
This is a particularly nice example of how iterators can be so much nicer than
Enumerate()-style functions:

  1 file changed, 4 insertions(+), 33 deletions(-)
2015-07-09 16:54:59 -07:00
Nicholas Nethercote
beb2574643 Bug 1181445 (part 4) - Use nsTHashTable::Iterator in nsCategoryManager. r=froydnj. 2015-07-09 16:54:58 -07:00
Nicholas Nethercote
57355d86b6 Bug 1181445 (part 3) - Use nsTHashTable::Iterator in nsObserverService. r=froydnj. 2015-07-09 16:49:32 -07:00
Nicholas Nethercote
37437f9afd Bug 1181445 (part 2) - Use nsTHashTable::Iterator in nsMemoryReporterManager. r=froydnj. 2015-07-08 22:32:39 -07:00
Nicholas Nethercote
426b2f28c8 Bug 1181445 (part 1) - Implement iterators for nsTHashtable and nsBaseHashtable. r=froydnj.
nsBaseHashtable has both EnumerateRead() and Enumerate(). A comment claims that
the latter locks the table, but this is false, so I removed the comment. Other
than that the only notable difference between them is that they have slightly
different types for dealing with values (|UserDataType| vs |DataType&|) so I've
implemented both GetUserData() and GetData(), allowing either type to be used.
2015-07-07 20:47:59 -07:00
Jim Mathies
f7fdc6ece7 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05:00
Randell Jesup
c29b3218d0 Bug 1155059: Patch 3&7 - fix leaks in Promise, ConsoleService and JS Finalize r=froydnj 2015-07-09 23:21:46 -04:00
Randell Jesup
603a3116b7 Bug 1155059: Patch 4 - invoke NS_ASSERTION if DispatchToMainThread fails to get MainThread ptr r=froydnj 2015-07-09 23:21:46 -04:00
Randell Jesup
cb8f0924d3 Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj
Modify Dispatch IDL and code to deal with MSVC issues with overloaded templates r=froydnj
2015-07-09 23:21:46 -04:00
Randell Jesup
8be77a6119 Bug 1155059: Patch 0 - add do_AddRef() r=froydnj 2015-07-09 23:21:46 -04:00
Mike Hommey
dba327c463 Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-10 09:56:05 +09:00
Randell Jesup
07ac79c0f2 Bug 1178890: Update timer arrays after sleep to account for time sleeping r=bwc,froydnj 2015-07-09 20:18:34 -04:00
Nathan Froyd
7992fb6420 Bug 1151506 - move nsIInterfaceInfo::isMainProcessScriptable to the end of the interface's vtable; r=dbaron
Adding isMainProcessScriptable() into the middle of nsIInterfaceInfo
caused problems with some binary addons that relied on the ordering of
the methods in nsIInterfaceInfo.  In an attempt to placate those addons,
move isMainProcessScriptable() to the end of the vtable.  This change is
a no-op for normal libxul usage.
2015-06-29 10:28:14 -04:00
Nicholas Nethercote
fb8b6912c9 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
2663e88cb7 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.
2015-07-07 17:54:03 -07:00
Birunthan Mohanathas
c4d6688187 Bug 968520 - Add nsTArray::Assign. r=froydnj 2015-07-07 11:27:03 -07:00
Dragana Damjanovic
e3003eee82 Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Robert O'Callahan
aa0a113fa7 Bug 1143575. Avoid use of COMPARE macro which can clash with Android headers. r=bent 2015-06-07 12:26:40 +03:00
Nicholas Nethercote
0dd3f3ad0a Bug 1180072 - Remove PL_DHashTableEnumerate(). r=froydnj.
It's no longer used, and the Iterator classes are much nicer. Yay.
2015-06-18 22:19:10 -07:00
Bill McCloskey
ad4d5d83e6 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-06 19:58:44 -07:00
Nicholas Nethercote
c58b9e94b8 Bug 1131308 (part 1) - Improve PLDHashTable's internal checking. r=froydnj. 2015-05-20 23:11:35 -07:00
Nicholas Nethercote
c14afde851 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.
2015-07-05 17:49:44 -07:00
Gabriele Svelto
8fed70f18a Bug 858928 - Switch XRE_StartupTimelineRecord() from PRTime to TimeStamp. r=froydnj 2015-07-06 18:01:09 +02:00
Andrea Marchesini
a1b794c402 Bug 1171603 - Better size check in nsTSubstring::ReplacePrep. r=ehsan 2015-07-06 14:27:35 -04:00
Fabrice Desré
01c34d8ee6 Bug 1180533 - Disable BackgroundHangMonitor on gonk 2015-07-05 18:30:51 -07:00
Juan Gomez
01df2f691b Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Phil Ringnalda
cae35eaf19 Back out 12 changesets (bug 1177013) on suspicion of causing b2g emulator debug test bustage
CLOSED TREE

Backed out changeset 912aae0815f8 (bug 1177013)
Backed out changeset 3b6448172e50 (bug 1177013)
Backed out changeset 2af18bef5703 (bug 1177013)
Backed out changeset e6bf35115c11 (bug 1177013)
Backed out changeset 4d7f5205b60b (bug 1177013)
Backed out changeset f7de893911bc (bug 1177013)
Backed out changeset de79eba232f0 (bug 1177013)
Backed out changeset 978a77b60f2a (bug 1177013)
Backed out changeset f5b52fa19511 (bug 1177013)
Backed out changeset e14a7b70b6fa (bug 1177013)
Backed out changeset d0f5a3474659 (bug 1177013)
Backed out changeset bff9f07dad52 (bug 1177013)
2015-07-02 22:08:54 -07:00
Bill McCloskey
fd0ab128e1 Bug 1177013 - Use CancelCurrentTransaction to avoid crashes (r=dvander) 2015-07-02 17:18:10 -07:00
Nicholas Nethercote
58e0eabbd0 Bug 1179657 - Remove PL_DHASHMETER. r=froydnj.
Because it's totally busted and not a very good way of getting that kind of
statistics.
2015-07-01 22:59:53 -07:00
Hamzata Diallo
489a109db4 Bug 1178513 - Export libxul symbols needed by ACL. r=mattwoodrow 2015-07-02 15:19:35 -07:00
Ryan VanderMeulen
f04e87040a Backed out changeset 97c7e83acb6b (bug 1171603) for Windows Werror bustage.
CLOSED TREE
2015-07-02 15:33:10 -04:00
Andrea Marchesini
2115b48fd7 Bug 1171603 - Better size check in nsTSubstring::ReplacePrep. r=ehsan 2015-07-02 14:51:42 -04:00
Boris Kudryavtsev
b948d306f7 Bug 1155968 - Fix variable use before initialization. r=khuey 2015-06-02 12:17:00 +02:00
Boris Kudryavtsev
fbaa959c0c Bug 1155968 - Fix correct number of empty lines between objects to comply with PEP8. r=khuey 2015-05-20 21:56:00 +02:00
Boris Kudryavtsev
8c1669d888 Bug 1155968 - Fix indentation warnings to comply with PEP8. r=khuey 2015-05-20 21:55:00 +02:00
Boris Kudryavtsev
06bebf99c7 Bug 1155968 - Whitespace fixes in xpidl.py to comply with PEP8. r=khuey 2015-05-16 12:18:00 +02:00
Boris Kudryavtsev
70ea89c7e3 Bug 1155968 - Change '==' and '!=' to 'is' and 'is not' to comply with PEP8. r=khuey 2015-05-14 19:50:00 +02:00
Boris Kudryavtsev
e3b90e93f7 Bug 1155968 - Correct indent not multiple of 4. r=khuey 2015-05-12 18:41:00 +02:00
Boris Kudryavtsev
8be6fba732 Bug 1155968 - Remove semicolons at ends of statements (PEP8). r=khuey 2015-05-09 12:38:00 +02:00
Boris Kudryavtsev
f2e0c73bac Bug 1155968 - Move statements to their own lines. r=khuey 2015-05-05 17:24:00 +02:00
Boris Kudryavtsev
3f0e4b8f42 Bug 1155968 - Whitespace changes in header.py and runtests.py. r=khuey 2015-05-04 22:45:00 +02:00
Boris Kudryavtsev
1f1ce6d02d Bug 1155968 - Remove trailing whitespace in header.py. r=khuey 2015-05-04 22:41:00 +02:00
Boris Kudryavtsev
f8578b4643 Bug 1155968 - Add blank lines where needed in xpcom/idl-parser. r=khuey 2015-05-04 22:35:00 +02:00
Boris Kudryavtsev
deff17eb2b Bug 1155968 - Place imports on separate lines. r=khuey 2015-05-04 22:34:00 +02:00
William Chen
a3908e9075 Bug 1178513 - Add <extapp> element and interfaces to be used by ACL. r=khuey 2015-06-30 11:27:57 -07:00
Nathan Froyd
7267580c13 Bug 1174344 - make error message for mismatched leak log entries more helpful; r=mccr8 2015-06-29 16:36:32 -04:00
Mike Hommey
cb279e2d9a Backout changeset f70b74488807 (bug 833117) for gtest bustage on Linux 2015-07-01 16:41:20 +09:00
Mike Hommey
d2f4a97593 Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-01 15:29:46 +09:00
Ryan VanderMeulen
ef4314a212 Backed out changeset 37bee149c935 (bug 968520) for checktest failures. 2015-06-30 15:47:18 -04:00
Birunthan Mohanathas
97d4c2d5ec Bug 968520 - Add nsTArray::Assign. r=froydnj 2015-06-30 11:16:03 -07:00
Jan de Mooij
c42999b66d Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Wes Kocher
13acf76012 Merge m-c to inbound, a=merge 2015-06-29 17:28:20 -07:00
ffxbld
e847a9f863 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2015-06-29 13:34:04 -07:00
Ryan VanderMeulen
060a16dba7 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
ff52c090ad Bug 1176163 - Remove remaining uses of PL_DHashTableEnumerate() from xpcom/. r=froydnj. 2015-06-18 18:09:37 -07:00
David Major
6e345c70c9 Bug 1151506: Work around broken binary callers of xptiInterfaceInfo. r=froydnj 2015-06-26 10:33:44 -07:00
Nathan Froyd
94f5a5a3db 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
f95dac0fd1 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
a497db0426 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
9dbb705467 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
bc6f317b83 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
526ed250cf 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
e6131fc8b8 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
2128198065 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-06-24 14:11:00 -04:00
David Major
03330dc7bd Bug 1151506 - Null-check the count parameter in GetConstantCount. r=froydnj 2015-06-24 09:07:11 -07:00
Chris Peterson
9be1d32410 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
bd13db15e2 Bug 1143006 - Show warning for http-on-* in child process (r=mrbkap) 2015-06-19 17:35:06 -07:00
Benoit Girard
9b4532466d Bug 1172216 - Move nsStackwalk to mozglue. r=glandium 2015-06-10 16:32:45 -04:00
Benoit Girard
aace26e2a9 Bug 858927 - Move the mozilla::TimeStamp into mozglue. r=glandium 2015-06-05 16:03:11 -04:00
Ryan VanderMeulen
db3fcf8fe5 Bug 704368 - Re-enable test_nsIProcess_stress.js on Linux64 debug. 2015-06-18 11:28:51 -04:00
Carsten "Tomcat" Book
d6d4574131 merge mozilla-inbound to mozilla-central a=merge 2015-06-18 15:13:19 +02:00
Tom Tromey
55e2a5071c Bug 1159507 - make allocation times consistent with timeline; r=fitzgen,mccr8 2015-06-17 13:01:27 -07:00
Nicholas Nethercote
a2d83b8f85 Bug 1173600 (part 3) - Add PLDHashTable::RemovingIterator. r=froydnj. 2015-06-10 17:04:07 -07:00
Nicholas Nethercote
b0a39a3a7c 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.
2015-06-10 16:36:02 -07:00
Nicholas Nethercote
c412098e05 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.
2015-06-10 13:54:06 -07:00
Boris Zbarsky
01243f9b52 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
616c6b6490 Bug 1175600. Add getRelativePath/setRelativePath to nsIFile. r=froydnj 2015-06-17 16:17:20 -04:00
Nicholas Nethercote
55888f25ee Bug 11746250 (follow-up) - Fix link errors on Linux and Android. r=me. 2015-06-16 23:48:53 -07:00
Nicholas Nethercote
b945b71cfa 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
2015-06-11 21:19:53 -07:00
Andrew McCreight
a76f4f6119 Bug 1174796 - Make sure ReleaseNow releases everything. r=smaug 2015-06-16 14:19:07 -07:00
Shelly Lin
1c846a6914 Bug 1113562 - Expected delay time of tasks should not be the latency of those kind. r=sinker 2015-06-16 10:57:19 +08:00
Wes Kocher
b554609a11 Merge m-c to inbound, a=merge 2015-06-15 18:34:29 -07:00
Boris Zbarsky
1d0107b64b 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
2777a7c1bf Merge m-c to fx-team. a=merge 2015-06-15 15:59:05 -04:00
Florian Quèze
465c6d082c Bug 1109354 - prefer Firefox default engines over profile-installed plugins with the same name, r=markh. 2015-06-15 18:32:09 +02:00
Terrence Cole
975243fe86 Bug 1173889 - Strongly type the CallbackTracer dispatch function; r=jonco, r=mccr8 2015-06-11 10:03:33 -07:00
Ted Mielczarek
4b21fff846 bug 1171574 - XPCOMGlue doesn't need LEADING_UNDERSCORE for iOS. r=froydnj 2015-02-10 15:36:37 -05:00
Ted Mielczarek
cb0c9b3abb bug 1171125 - Fix nsStackWalk to build for iOS. r=froydnj 2015-02-04 10:50:10 -05:00
Ted Mielczarek
6292c0a3f5 bug 1171124 - Swap some XP_MACOSX for XP_DARWIN in nsLocalFileUnix. r=froydnj 2015-02-04 10:49:45 -05:00
Ted Mielczarek
c3279daf35 bug 1170586 - Make TimeStamp::FromSystemTime available on iOS. r=froydnj 2015-01-30 15:32:48 -05:00
Ted Mielczarek
615a0796ad bug 1170585 - Don't try to build IO Poisoning on iOS. r=froydnj 2015-02-27 12:38:27 -05:00
Nicholas Nethercote
00b26ff00f 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.
2015-06-11 18:23:26 -07:00
Nicholas Nethercote
2b90078fa7 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
a4d2212ed7 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
06bec04d53 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
bb0c06fd91 Bug 1172761 (part 1) - Remove PL_DHashTableEnumerator use from nsAtomTable. r=froydnj. 2015-06-10 13:07:40 -07:00
Birunthan Mohanathas
979decd0bd Bug 968520 - Always require fallible argument with FallibleTArray calls. r=froydnj 2015-06-10 14:30:41 -07:00
Nick Fitzgerald
d34051271f Bug 1141614 - Part 3: Trace cycle collection with AutoGlobalTimelineMarker; r=smaug 2015-06-10 14:05:53 -07:00
Nicholas Nethercote
b4f22b0123 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.
2015-06-10 12:47:18 -07:00
Nicholas Nethercote
4ce55e3a97 Bug 1173212 (part 1) - Remove some can't-fail tests in PLDHashTable. r=froydnj. 2015-06-10 12:47:18 -07:00
Eric Rahm
4d164e128b Bug 1171716 - Part 1: Add NS_ReleaseOnMainThread. r=froydnj 2015-06-10 08:33:27 -07:00
Chris Peterson
6b2f3ceaab Bug 1026761 - CID 749761: nsAStreamCopier::Process can use sourceCondition, sinkCondition uninitialized. r=froydnj 2015-06-06 12:35:37 -07:00
Edwin Flores
816cbdacc1 Bug 1172393 - Let XPCOM shutdown properly on Windows versions later than XP - r=mccr8 2015-06-10 14:39:05 +12:00
Wes Kocher
f1f6dffb5d Backed out 5 changesets (bug 1171716) for android bustage
Backed out changeset 4986f8464f9c (bug 1171716)
Backed out changeset bc8405b07d10 (bug 1171716)
Backed out changeset 10e18e494630 (bug 1171716)
Backed out changeset be499a3cae5d (bug 1171716)
Backed out changeset f75717d3eba0 (bug 1171716)
2015-06-09 18:48:37 -07:00
Eric Rahm
1346d05111 Bug 1171716 - Part 1: Add NS_ReleaseOnMainThread. r=froydnj 2015-06-09 18:25:43 -07:00
Eric Rahm
b72a862d28 Bug 1172138 - Call PR_LogInit before profiler_init. r=froydnj 2015-06-09 17:44:46 -07:00
Birunthan Mohanathas
67cae0519f Bug 968520 - Add more fallible variants of nsTArray::InsertElementsAt. r=froydnj 2015-06-09 17:27:31 -07:00
Birunthan Mohanathas
bd16fa84fb Bug 968520 - Add fallible variants of nsTArray::InsertElementSorted. r=froydnj 2015-06-08 13:39:57 -07:00
Birunthan Mohanathas
24c1c3301c Bug 968520 - Make nsTArray::InsertElementSorted support moves. r=froydnj 2015-06-08 13:39:53 -07:00
Birunthan Mohanathas
3959b83c21 Bug 968520 - Add mozilla::fallible to FallibleArray calls in tests. r=froydnj 2015-06-08 13:39:49 -07:00
Ryan VanderMeulen
a84d7fa0b7 Backed out 5 changesets (bug 1141614) for browser_timelineMarkers-02.js failures.
Backed out changeset 1db2b848699a (bug 1141614)
Backed out changeset 9becec7879dc (bug 1141614)
Backed out changeset fff492fc48ce (bug 1141614)
Backed out changeset f49e64db4a66 (bug 1141614)
Backed out changeset 63199013dac2 (bug 1141614)

CLOSED TREE
2015-06-09 13:20:24 -04:00
Nick Fitzgerald
4922622de9 Bug 1141614 - Part 3: Trace cycle collection with AutoGlobalTimelineMarker; r=smaug 2015-06-08 12:40:07 -07:00
Carsten "Tomcat" Book
21dc4a9b86 merge mozilla-inbound to mozilla-central a=merge 2015-06-08 11:55:30 +02:00
Andrew McCreight
23d8de25b1 Bug 1152079 - Remove references to deleted Purify files from moz.build. r=bustage 2015-06-06 14:49:42 -07:00
Andrew McCreight
45fc10c282 Bug 1152079 - Remove Purify support files. r=froydnj 2015-06-06 14:37:59 -07:00
Nicholas Nethercote
47c48aa026 Bug 1171323 - Remove PL_DHashFreeStringKey(), because it's dead. r=froydnj. 2015-06-04 16:14:37 -07:00
Nikhil Marathe
080cf2090c Bug 1166504 - Make nsMultiplexInputStream cloneable. r=bkelly,froydnj 2015-06-02 16:12:57 -07:00
Andrew McCreight
369935b505 Bug 1163006, part 5 - Add a less COM-y getter for mWantAllTraces. r=smaug 2015-06-04 14:41:31 -07:00
Andrew McCreight
86632f0856 Bug 1163006, part 4 - De-COM the nsICycleCollectorListener methods we only call from C++. r=smaug 2015-06-04 14:41:31 -07:00
Andrew McCreight
112f0a187a Bug 1163006, part 3 - Clean up some cycle collector logger set up code. r=smaug
There's no need for the local variable.
2015-06-04 14:41:31 -07:00
Andrew McCreight
06fa9c6526 Bug 1163006, part 2 - Rename various cycle collector listener variables to logger. r=smaug 2015-06-04 14:41:31 -07:00
Andrew McCreight
e9d3e19964 Bug 1163006, part 1 - Make the cycle collector use the concrete logger class. r=smaug
This patch makes it so that while the cycle collector is running methods are called
on the concrete implementation nsCycleCollectorLogger, rather than the interface
nsICycleCollectorListener. This makes explicit the requirement that we have to be
very careful about what we call during the cycle collector, and should make it
possible for the GC rooting static analysis to understand what is happening.

The UUID of nsICycleCollectorHandler was changed to appease the UUID commit hook.
2015-06-04 14:41:31 -07:00
doofgod
c984749553 Bug 1155969 - Make xpt.py flake8 compliant. r=ted 2015-05-25 19:58:00 -04:00
doofgod
2d8b79b417 Bug 1155969 - Make runtests.py flake8 compliant. r=ted 2015-05-25 19:57:00 -04:00
Nicholas Nethercote
ef671b3077 Bug 1170934 (part 2) - Fix the comment for PL_DHashTableRemove(). r=froydnj. 2015-06-03 17:05:12 -07:00
Nicholas Nethercote
47ab8f55e5 Bug 1170934 (part 1) - Remove PLDHashTable::{Init,Fini}(). r=froydnj. 2015-05-20 21:25:55 -07:00
Eric Rahm
387657eb09 Bug 1165515 - Part 14: Undef PR_LOG macros when using mozilla/Logging.h. r=froydnj
Make it harder for users to accidentally reintroduce usage of the PR_LOG macros
when using 'mozilla/Logging.h'. This can still be worked around by directly
including 'prlog.h' (and not 'mozilla/Logging.h') if absolutely necessary.
2015-06-03 15:26:07 -07:00
Eric Rahm
9100016c49 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Eric Rahm
4b906d338d Bug 1165515 - Part 13-1: Add log level enum class. r=froydnj
This adds the mozilla::LogLevel enum class. Additionaly a log_test function is
added to use rather than a macro, this allows us to enforce only
mozilla::LogLevel is passed into the function.
2015-06-03 15:22:39 -07:00
Eric Rahm
4cf2cfb364 Bug 1165515 - Part 6: Add PR_LOG_VERBOSE. r=froydnj 2015-06-03 15:22:31 -07:00
Eric Rahm
1fcdde9ba3 Bug 1165515 - Part 5: Convert instances of PR_LOG_ALWAYS. r=froydnj
Most instances were converted to PR_LOG_INFO, some to PR_LOG_DEBUG, and some
to PR_LOG_ERROR.
2015-06-03 15:22:30 -07:00
Eric Rahm
36d70005fe Bug 1165515 - Part 4: Add PR_LOG_INFO. r=froydnj
This is an interstitial step in preparation for adding a new info level. For
now it just maps to debug.
2015-06-03 15:22:29 -07:00
Eric Rahm
6d13987359 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-03 15:22:28 -07:00
Eric Rahm
3241d2c018 Bug 1165515 - Part 2: Add MOZ_LOG_TEST. r=froydnj 2015-06-03 15:22:26 -07:00
Gijs Kruitbosch
2f73530007 Bug 1170207 - allow overrides of chrome://../skin/ URIs with other chrome://../skin/ URIs within skin manifests, r=bsmedberg 2015-06-01 17:05:39 +01:00
Terrence Cole
c4507a5603 Bug 1169086 - Use virtual dispatch to implement callback tracer; r=jonco, r=mccr8 2015-05-28 16:35:08 -07:00
Ryan VanderMeulen
36b9039a99 Backed out changeset c1cd7aff7c94 (bug 1163320) for causing silent Hazard build bustage. 2015-06-03 12:46:19 -04:00
Heiher
b61d9f116d Bug 1170859- MIPS64: Fix copy u32 type arg to argument register. r=froydnj 2015-06-02 18:49:00 -04:00
Honza Bambas
286d5912dd Bug 1170534 - Remove Visual Event Tracer. r=dougt 2015-06-02 11:44:00 -04:00
Nicholas Nethercote
57d9ca6f4a 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.
2015-05-20 21:23:55 -07:00