Commit Graph

1150 Commits

Author SHA1 Message Date
Nicholas Nethercote
7976b574cf Bug 1337189 (part 20) - Move Start() and Stop() out of Sampler. r=mstange.
The patch also renames them as PlatformStart() and PlatformStop() to make it
clearer they are platform-specific.
2017-02-09 09:02:41 +11:00
Nicholas Nethercote
b02431fa99 Bug 1337189 (part 19) - Move Tick() and GetThreadHandle() out of sampler. r=mstange.
The patch also removes InplaceTick(), which wasn't serving any useful purpose.
2017-02-09 09:02:41 +11:00
Nicholas Nethercote
36fb426d68 Bug 1337189 (part 18) - Remove Sampler::GetBacktrace(). r=mstange.
The patch also removes NewSyncProfile() by inlining it at its single call site.
2017-02-09 09:02:41 +11:00
Nicholas Nethercote
55861695b6 Bug 1337189 (part 17) - Remove Sampler::FlushOnJSShutdown(). r=mstange.
This means PseudoStack::flushSamplerOnJSShutdown() should now work when called
off-main-thread.
2017-02-09 09:02:41 +11:00
Nicholas Nethercote
8796cadf65 Bug 1337189 (part 16) - Move all the bools out of Sampler. r=mstange.
Two of them (mAddMainThreadIO and mPrivacyMode) are now local variables within
profiler_start(), which is nice.

This change also lets us get rid of four sIs* variables.
2017-02-08 12:01:41 +11:00
Nicholas Nethercote
7cad4eb2a3 Bug 1337189 (part 15) - Move mBuffer out of Sampler. r=mstange. 2017-02-08 11:36:05 +11:00
Nicholas Nethercote
f31b74a847 Bug 1337189 (part 14) - Move active_ and paused_ out of Sampler. r=mstange. 2017-02-08 11:12:26 +11:00
Nicholas Nethercote
d8b9dc3bae Bug 1337189 (part 13) - Move interval_ out of Sampler. r=mstange. 2017-02-08 09:06:16 +11:00
Nicholas Nethercote
609674c984 Bug 1337189 (part 12) - Move s{,Last}FrameNumber from Sampler.cpp to platform.cpp. r=mstange.
--HG--
extra : rebase_source : 95bc147a4a8e750ee3c0dbd92b55cca194a93639
2017-02-07 15:56:48 +11:00
Nicholas Nethercote
1ad49d6d4d Bug 1337189 (part 11) - Move the Linux-specific fields out of Sampler. r=mstange.
--HG--
extra : rebase_source : 09797087c38c99be18e59abdfff170115e7fbba6
2017-02-07 15:47:01 +11:00
Nicholas Nethercote
aaa8c223f7 Bug 1337189 (part 10) - Move entrySize_ out of Sampler. r=mstange.
--HG--
extra : rebase_source : 599be59343311c421b00c6bd7e0674175dc57445
2017-02-07 15:22:52 +11:00
Nicholas Nethercote
5be61e6eca Bug 1337189 (part 9) - Move mThreadNameFilters and mFeatures out of Sampler. r=mstange.
Doing so made it clearer that gThreadNameFilters was being accessed from
multiple threads without synchronization, so I added a Mutex for it.

--HG--
extra : rebase_source : 60d9f4df76ed04cb5ce1b8232bbeb9c795b66535
2017-02-07 15:22:27 +11:00
Nicholas Nethercote
0b9183e6ac Bug 1337189 (part 8) - Move mGatherer out of Sampler. r=mstange.
--HG--
extra : rebase_source : a366d877712b3b5761c4fd699bc39bd8ecbd4757
2017-02-07 14:24:39 +11:00
Nicholas Nethercote
a198b373b1 Bug 1337189 (part 7) - Move Startup(), Shutdown(), RegisterCurrentThread(), UnregisterCurrentThread() out of Sampler. r=mstange.
This is a good example of code that's in Sampler for no particular reason.

--HG--
extra : rebase_source : 29436e650a154c519029c05cad379e5226043af9
2017-02-07 14:24:33 +11:00
Nicholas Nethercote
52ef6d2984 Bug 1337189 (part 6b) - Move declarations of gSampler. r=mstange.
--HG--
extra : rebase_source : 03ec3604f8e54aa501142cf218c4673504caf34a
2017-02-07 17:27:54 +11:00
Nicholas Nethercote
a76c2d28fe Bug 1337189 (part 6) - Move sRegisteredThreads{,Mutex} out of Sampler. r=mstange.
They don't particularly belong there, and Sampler will be going away eventually
anyway.

--HG--
extra : rebase_source : 4faab111925848215f7e8db8244b33ee46c5396c
2017-02-07 14:16:26 +11:00
Nicholas Nethercote
e52a6ab24b Bug 1337189 (part 5) - #include Sampler.cpp from platform.cpp. r=mstange.
I am planning to merge Sampler into platform.cpp, so Sampler.cpp will
disappear. This change will make that easier, because things that temporarily
need to be visible in both files won't need to be declared in a header.

--HG--
extra : rebase_source : f0fa4751f6ead945c1a00a17dbc9a7d3dc870e4b
2017-02-07 14:15:30 +11:00
Nicholas Nethercote
b20ef2d766 Bug 1337189 (part 4) - #include platform-*.cc from platform.cpp. r=mstange.
platform-*.cc and platform.cpp belong together conceptually, and combining them
into a single compilation unit makes it easier to share things and avoids the
need for some declarations in headers.

The patch also removes old_sigsave_signal_handler_ which is a long-dead field
that clang now detects and complains about.

--HG--
extra : rebase_source : 092a7ca608415b888607dba38ad5296787af824e
2017-02-07 16:09:39 +11:00
Nicholas Nethercote
4b5d7166d9 Bug 1337189 (part 3) - Remove profiler_responsiveness. r=mstange.
All it does is set sLastTracerEvent, which is never read.

--HG--
extra : rebase_source : 13182caaa8d6e38967c7b667992a9d64029e38d7
2017-02-07 14:15:10 +11:00
Nicholas Nethercote
f130ae80cb Bug 1337189 (part 2) - Add more threadedness assertions and comments to the profiler. r=mstange.
This patch adds NS_IsMainThread() assertions to all main-thread-only
profiler_*() functions that currently lack them, and adds comments to those
that run on multiple threads. As a result, it's now clear for every
profiler_*() function which threads it runs on.

--HG--
extra : rebase_source : 9a1b00f040a7bfc477ceee701ad6af165b468f4e
2017-02-06 14:31:38 +11:00
Nicholas Nethercote
445a4a42de Bug 1337189 (part 1) - Add a comment about sStartTime. r=mstange.
--HG--
extra : rebase_source : ab709feba5a3551514079c9212ab98b32cd293f7
2017-02-06 14:30:33 +11:00
Nicholas Nethercote
b22d13f689 Bug 1126576 (part 2) - Remove redundant check from profiler_init(). r=mstange.
--HG--
extra : rebase_source : 24b458b51352cdd578812c8db8c3fb245e72bf42
2017-02-03 10:34:36 +11:00
Nicholas Nethercote
b59f5ef845 Bug 1126576 (part 1) - Remove refcounting from PseudoStack. r=mstange.
PseudoStack lifetimes are predictable because they match thread lifetimes.
There is no need for refcounting.

This patch:

- Removes the refcounting, along with StackOwningThreadInfo.

- Makes PseudoStack's ctor and dtor public, and removes the Create() method.

- Changes popAndMaybeDelete() to pop().

- Removes PseudoStack::isEmpty(), which is dead.

- Adds various comments to make clear how things now work.

--HG--
extra : rebase_source : 3a135fcf137997a6fbc09b408ff28ee846217e63
2017-02-03 10:34:35 +11:00
Nicholas Nethercote
d6624d0e50 Bug 816598 - Add a memory reporter for the Gecko Profiler. r=mstange,jseward.
It's fairly straightforward, and measures the important parts of:

- Sampler, PseudoStack, ProfileBuffer, ThreadInfo.

- LUL, PriMap, SecMap

Coverage isn't perfect, but it gets the major things I found via DMD on Linux.

Example output in about:memory:

├──151.21 MB (49.73%) -- profiler
│  ├──141.49 MB (46.53%) ── lul
│  └────9.72 MB (03.20%) ── sampler

--HG--
extra : rebase_source : 67d2ada42aead43f68f5100a08204a1d1f1cfceb
2017-01-30 12:37:26 +11:00
Julian Seward
11b9557938 Bug 1328385 - Replace the profile entry tag with an enum. r=kvijayan.
--HG--
extra : rebase_source : 4e8de98fc4e89a772e8fdc2261e0ebb8d30e2642
2017-02-07 16:47:28 +01:00
Julian Seward
eed29460b1 Bug 1245477 - Crashes in lul::DerefTUW. r=nfroyd.
--HG--
extra : rebase_source : 647ea253f987720f3a641f382426de3d8ad1d1d4
2017-02-06 09:03:38 +01:00
Nicholas Nethercote
46b88ab7a6 Bug 1336326 (part 3) - Remove SamplerRegistry. r=mstange.
We only have one global Sampler, gSampler, and so SamplerRegistry is just an
unnecessary and obfuscating wrapper around it.

--HG--
extra : rebase_source : b675c414d0081dab2cd7dac864ffdff5070afe7d
2017-02-03 13:18:02 +11:00
Nicholas Nethercote
7302f2a052 Bug 1336326 (part 2) - Make sRegisteredThreadsMutex a StaticMutex. r=mstange.
StaticMutexes don't need to be created or destroyed, which avoids the need for
checking if they still exist.

This patch also adds locking to a few functions that lacked it. Every access to
sRegisteredThreads is now protected appropriately.

--HG--
extra : rebase_source : 2ea1d7372652ddd532e6e98c167be0997df33f07
2017-02-03 13:11:34 +11:00
Nicholas Nethercote
e68e4a6f44 Bug 1336326 (part 1) - Remove Sampler::GetRegisteredThreads(). r=mstange.
Sampler::sRegisteredThreadsMutex is public. Might as well make
Sampler::sRegisteredThreads public too. This allows the getter to be removed,
and makes the code a little easier to read.

--HG--
extra : rebase_source : 4ff3ba92c9d74ae1b10a2be227ca15f61d15bee2
2017-02-03 11:27:14 +11:00
Greg Mierzwinski
d034427bd2 Bug 1301197 - Add xpcshell code coverage to linux64-jsdcov and the 'coverage' mozinfo flag. r=jmaher
This patch makes it possible to collect code coverage for xpcshell tests using the linux64-jsdcov build. It also enables the use of a 'coverage' flag to disable tests when they are instrumented with the js debugger for code coverage. Lastly, it uses the 'coverage' flag to disable certain tests.

MozReview-Commit-ID: 97VFkJmlwQn

--HG--
extra : rebase_source : 26c841f5a68f927889c0903e701bfde4b7ca84ac
2016-11-08 15:57:21 -05:00
Shih-Chiang Chien
e452abf554 Bug 1336004 - add missing header file for TaskTracer. r=cyu
MozReview-Commit-ID: 11cMTxBWCRl

--HG--
extra : rebase_source : d8fb52e1b4d81f72fbb674a19b983a0e376fabde
2017-02-02 12:00:58 +08:00
Julian Seward
62b845c331 Bug 1328916 - Remove ProfilerSaveSignalHandler and transitively reachable code. r=mstange.
--HG--
extra : rebase_source : c4b95dcf205d4df81e22d4b08947d55ab4fac8ca
2017-02-02 10:04:02 +01:00
Julian Seward
95cd90edee Bug 1329150 - Remove ENABLE_ARM_LR_SAVING and its code. r=mstange.
--HG--
extra : rebase_source : 14c459cbfa061a885221d2d89a98f98d721679c2
2017-02-02 08:29:18 +01:00
Nicholas Nethercote
bd934d48e6 Bug 1335595 (part 5) - Remove ThreadResponsiveness::mThreadInfo. r=mstange.
ThreadInfo contains a ThreadResponsiveness, and then ThreadResponsiveness has a
pointer back to its containing ThreadInfo, which is gross.

The back pointer is only needed for Update(), and it's easy to pass in the
necessary info instead via a new method UpdateThreadResponsiveness().

This change also means ThreadInfo::GetThread() can be removed.

--HG--
extra : rebase_source : 46ebeb142e8c678be204b106713147738bcbc4a4
2017-02-02 11:07:13 +11:00
Nicholas Nethercote
9373d7166c Bug 1335595 (part 4) - Merge ThreadProfile into ThreadInfo. r=mstange.
ThreadInfo and ThreadProfile are hopelessly intertwined.

- ThreadInfo has an owning pointer to ThreadProfile. ThreadProfile has a raw
  back pointer to ThreadInfo. A reference to one is as good as a reference to
  the other, and references to one frequently reach into the other.

- An exception is SyncProfile, a sub-class of ThreadProfile, which instead has
  an owning pointer to its ThreadInfo. (This makes the SyncProfile's destructor
  dubious, because it deletes the ThreadInfo, which could conceivably re-call
  into SyncProfile's destructor.)

- ThreadProfile also has copies of five ThreadInfo fields (mThreadId,
  mIsMainThread, mPlatformData, mStackTop, mPseudoStack) even though it also
  has direct ThreadInfo access via the back pointer.

The only good reason for having the two classes separate is that some
ThreadInfo objects have a null ThreadProfile pointer. But this doesn't justify
the entanglement.

So this patch merges ThreadProfile into ThreadInfo. It visually separates the
methods and fields related to profiles to partially preserve the original
meaning of the split. The new ThreadInfo::hasProfile() method replaces
ThreadInfo::Profile() as the indicator of whether a ThreadInfo has associated
profile data.

Notable points of simplification:

- The five duplicated fields are no longer duplicated.

- NewSyncProfile(), RegisterThread() no longer create ThreadProfile objects.

- ~SyncProfile() becomes trivial.

- ThreadInfo::SetPendingDelete() is simpler.

- Overall it removes ~80 lines of code.

Much of the rest is just plumbing changes.

--HG--
extra : rebase_source : 2e8c4cc46aa15943ffdc1fa19d9c829587267ee9
2017-02-02 11:07:13 +11:00
Nicholas Nethercote
8b717f8d56 Bug 1335595 (part 3) - Remove ThreadProfile::AsSyncProfile(). r=mstange.
It's unused.

--HG--
extra : rebase_source : fb855811ff1d807707fd1b605b747cff1b6d6be3
2017-02-02 11:07:12 +11:00
Nicholas Nethercote
afd35b70c0 Bug 1335595 (part 2) - Remove useless null checks in Sampler::InplaceTick(). r=mstange.
|sample| is non-null at all callsites. The function derefs |sampler| before
doing any of the null checks, anyway.

--HG--
extra : rebase_source : 5c3c917009310ade1faaf985ac866a4a98fe6abc
2017-02-01 15:41:29 +11:00
Nicholas Nethercote
f542865603 Bug 1335595 (part 1) - Remove the profiler's ASSERT macro. r=mstange.
MOZ_ASSERT is the standard macro.

--HG--
extra : rebase_source : 8aa9b96b82ff4b7ec2de4ec5c62aeb23aafea85f
2017-02-01 15:40:55 +11:00
Nicholas Nethercote
dfbacc4a42 Bug 1334466 (part 5) - Remove PlatformData::profiled_pthread_. r=mstange.
It's unused.

--HG--
extra : rebase_source : a755202318cf8abceefd1d29326380f3bc2746b7
2017-01-28 01:07:01 +11:00
Nicholas Nethercote
d1afdf0d74 Bug 1334466 (part 4) - Remove Sampler::profiling_. r=mstange.
Because it's always true.

--HG--
extra : rebase_source : b77cccb79989e6e93f003609baab34ca588e455e
2017-01-28 00:58:55 +11:00
Nicholas Nethercote
9c6ed67ad7 Bug 1334466 (part 3) - Rename GeckoSampler.cpp as Sampler.cpp. r=mstange.
The patch also moves some Sampler methods from platform.cpp to Sampler.cpp. Now
all Sampler methods are in Sampler.cpp except for a small number of
platform-specific ones, which are in platform-*.cpp.

--HG--
rename : tools/profiler/core/GeckoSampler.cpp => tools/profiler/core/Sampler.cpp
extra : rebase_source : a13862dccfcb1c78567cc9eb22e92b8410d2e544
2017-01-28 00:57:52 +11:00
Nicholas Nethercote
b33fc679ac Bug 1334466 (part 2) - Merge Sampler and GeckoSampler. r=mstange.
There's no point having them as separate classes. This removes the need for
some virtual functions, too.

--HG--
extra : rebase_source : b2607ba2431ae043b6e015f4f435b0d660b02d71
2017-01-25 14:34:25 +11:00
Nicholas Nethercote
0a42d0f79c Bug 1334466 (part 1) - Merge Sampler constructors and destructors. r=mstange.
They're defined separately for each platform, but the definitions are almost
identical and can be commoned up.

--HG--
extra : rebase_source : 67b7f88410db1951a20f03f6c156aa6b35a3ee20
2017-01-28 00:52:57 +11:00
Nicholas Nethercote
e584767774 Bug 1333655 - Improve the profiler's Thread class. r=mstange.
It's a clumsy cross-platform abstraction. GetCurrentId() and tid_t are the only
genuinely cross-platform things in it, and the patch keeps those in place.

The remaining methods are not implemented on all platforms (none are
implemented on Linux) and the fields are all used on either Mac or Windows, but
not both. So the patch moves the relevant Thread method implementations and
fields into the existing SamplerThread classes. There is sufficiently little
overlap between the two SamplerThread classes that there is no point sharing a
base class between them. This avoids the need for virtual functions, and
simplifies thread naming on Mac.

The patch also changes some of the existing code to use Gecko style, e.g.
|mFoo| instead of |foo_| for class fields.
2017-01-25 14:34:25 +11:00
Nicholas Nethercote
234a671f05 Bug 1328365 (part 3) - Remove GeckoSampler::sActiveSampler. r=mstange.
This variable is set in GeckoSampler's destructor and cleared in GeckoSampler's
destructor, which means it's just another handle to the GeckoSampler singleton,
which means it duplicates gSampler.

This patch replaces its uses with gSampler uses. This exposes various places
where GeckoSampler is being accessed off the main thread, which I have marked
with XXX comments.

--HG--
extra : rebase_source : 3c2d012b4d38d353022f384c31a528096a462711
2017-01-27 16:25:23 +11:00
Nicholas Nethercote
9fcc3d9c39 Bug 1328365 (part 2) - Rename ProfileGatherer::mTicker as mSampler. r=mstange.
It's a better name, given that the type is |GeckoSampler*|.

--HG--
extra : rebase_source : aaeb9d0c34f8650c2e034e334825c7e8d7c1e832
2017-01-25 16:09:06 +11:00
Nicholas Nethercote
fd25b06c81 Bug 1328365 (part 1) - Replace tlsTicker with gSampler. r=mstange.
There is a single GeckoSampler and it is currently only accessed on the main
thread, so it's silly to use TLS for it; a normal global variable is better.

This patch also adds main thread assertions to a number of the profiler_*()
functions. Even though bug 1330184 may get rid of some of them, right now they
are a useful as both a sanity check and documentation.

--HG--
extra : rebase_source : 7613eb3cc8089b31180365f6463c81f4556c7b66
2017-01-25 16:00:47 +11:00
Nicholas Nethercote
45bf8c43bb Bug 1329684 (part 2) - Remove OS::msPerSecond, which is unused. r=mstange.
--HG--
extra : rebase_source : 5c0fcac9c52e8c9b0022002cbbdcaef33982a682
2017-01-25 14:33:34 +11:00
Nicholas Nethercote
6eb4bf69b1 Bug 1329684 (part 1) - Remove GeckoMutex, ::Mutex and ::MutexAutoLock from the profiler. r=mstange.
Note that the comment on ::Mutex said that it should support recursive locking,
but GeckoMutex was implemented using mozilla::Mutex which does *not* support
recursive locking.

The patch also removes OS::CreateMutex(), because it's only used twice and
doesn't make the code more concise.

--HG--
extra : rebase_source : 81f324cb3856ea5329d8b6edb457c8ec44395c56
2017-01-25 14:33:32 +11:00
Nicholas Nethercote
cb7d796cb1 Bug 1333296 (part 3) - Remove SPS mentions in tools/profiler. r=mstange.
--HG--
extra : rebase_source : d4ee3eccbffc86ea902be2b80a159fb84445c027
2017-01-24 14:18:50 +11:00
Nicholas Nethercote
997c2d8b00 Bug 1333296 (part 2) - Change "SPS:" mentions in logging code. r=mstange.
--HG--
extra : rebase_source : 2cb0718e120a2d0f988a7456d6fbf5946ce2e3a6
2017-01-24 14:17:13 +11:00
Nicholas Nethercote
22b6d342d7 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium.
--HG--
extra : rebase_source : 223f3a17f009645369be503392cc1f0cea7f19a1
2017-01-24 14:15:12 +11:00
Nicholas Nethercote
82d4c11201 Bug 1332577 (part 9) - Remove all mozilla_sampler_*() functions. r=mstange.
There are lots of profiler_*() functions that simply call onto equivalent or
nearly-equivalent mozilla_sampler_*() functions. This patch removes the
unnecessary indirection by removing the mozilla_sampler_*() functions.

The most important changes:

- In platform.cpp, all the mozilla_sampler_*() definitions are renamed as
  profiler_*().

- In GeckoProfiler.h, the new PROFILER_FUNC{,_VOID} macros provide a neat way
  to declare the functions that must be present whether the profiler is enabled
  or not.

- In GeckoProfiler.h, all the mozilla_sampler_*() declarations are removed, as
  are all the profiler_*() definitions that corresponded to a
  mozilla_sampler_*() function.

Other things of note:

- profiler_log(const char* str) is now defined in platform.cpp, instead of in
  GeckoProfiler.h, for consistency with all the other profiler_*() functions.
  Likewise with profiler_js_operation_callback() and
  profiler_in_privacy_mode().

- ProfilerBacktraceDestructor::operator() is treated slightly different to all
  the profiler_*() functions.

- Both variants of profiler_tracing() got some early-return conditions moved
  into them from GeckoProfiler.h.

- There were some cases where the profiler_*() and mozilla_sampler_*() name
  didn't quite match. Specifically:

  * mozilla_sampler_get_profile_data() and profiler_get_profiler_jsobject():
    name mismatch. Kept the latter.

  * mozilla_sampler_get_profile_data_async() and
    profiler_get_profile_jsobject_async(): name mismatch. Kept the latter.

  * mozilla_sampler_register_thread() and profiler_register_thread(): return
    type mismatch. Changed to void.

  * mozilla_sampler_frame_number() and profiler_set_frame_number(): name
    mismatch. Kept the latter.

  * mozilla_sampler_save_profile_to_file() and
    profile_sampler_save_profile_to_file(): the former was 'extern "C"' so it
    could be called from a debugger easily. The latter now is 'extern "C"'.

- profiler_get_buffer_info() didn't fit the patterns handled by
  PROFILER_FUNC{,VOID}, so the patch makes it call onto the new function
  profiler_get_buffer_info_helper(), which does fit the pattern.

--HG--
extra : rebase_source : fa1817854ade81e8a3027907d1476ff2563f1cc2
2017-01-20 15:05:16 +11:00
Nicholas Nethercote
47ba5aca68 Bug 1332577 (part 8) - Rename moz_profiler_*() as profiler_*(). r=mstange.
This makes them consistent with other profiler functions.

--HG--
extra : rebase_source : bfdd878f4ca9cab50f0fa769b3cd1a4cdae18575
2017-01-21 08:45:49 +11:00
Nicholas Nethercote
12647a7223 Bug 1332577 (part 7) - Rename mozilla_get_pseudo_stack() as profiler_get_pseudo_stack(). r=mstange.
This makes it consistent with other profiler functions.

--HG--
extra : rebase_source : 1e52acdc448691b8859bb147a0c70b198b432fe2
2017-01-20 15:07:05 +11:00
Nicholas Nethercote
12530089df Bug 1332577 (part 6) - Move some function definitions in GeckoProfiler.h. r=mstange.
This patch moves the definitions of profiler_call_{entry,exit}() up so that
forward declarations aren't necessary. It also removes an unnecessary second
declaration of mozilla_sampler_add_marker().

--HG--
extra : rebase_source : 254fa7b6400770f5af7bac9559eb1c8a3be77231
2017-01-20 14:29:20 +11:00
Nicholas Nethercote
a6815f5654 Bug 1332577 (part 5) - Fix indentation in platform.cpp. r=mstange.
The patch fixes some 4 space indents and tab indents.

--HG--
extra : rebase_source : aeef635fe85c6b68e055346d6602382316ae51c9
2017-01-20 14:20:11 +11:00
Nicholas Nethercote
07ed817efc Bug 1332577 (part 4) - Inline and remove GeckoProfilerTypes.h. r=mstange.
It's only included once, so there's no point having a separate file.

--HG--
extra : rebase_source : b81fb0b90adeb16e81cb6f52d847a2a28c516fed
2017-01-20 10:14:01 +11:00
Nicholas Nethercote
b549639a20 Bug 1332577 (part 3) - Inline and remove GeckoProfilerImpl.h. r=mstange.
It's only included once, so there's no point having a separate file.

--HG--
extra : rebase_source : b8bd266e3e792b350c16a3d59d125430ff1b42db
2017-01-20 09:54:56 +11:00
Nicholas Nethercote
e0bd6662d5 Bug 1332577 (part 2) - Inline and remove GeckoProfilerFunc.h. r=mstange.
It's only included once, so there's no point having a separate file.

--HG--
extra : rebase_source : 486b7c40ffe2b185efb145ba6e0e0c784e0299f5
2017-01-19 17:44:17 +11:00
Nicholas Nethercote
11ca48a8ae Bug 1332577 (part 1) - Remove PROFILER_MAIN_THREAD_* macros. r=mstange.
The comment suggests these are performance-critical specializations. But (a)
they look very similar to all the other macros, i.e. have no obvious
specialization, and (b) they are unused.

--HG--
extra : rebase_source : d9a0088bfc9154336f56a536320b270fd993ff10
2017-01-19 16:37:02 +11:00
Mark Banner
16e6d381ac Bug 503613 - Remove old 'tail =' lines from xpcshell.ini files; r=gps
MozReview-Commit-ID: 62Hp5ISxowJ

--HG--
extra : rebase_source : daa8efb3409031fea553f4fd0c9d0746e38dc308
extra : histedit_source : b4c23aacf678ba0d0ac9c09191a7c494ead11a08
2017-01-18 10:30:39 +00:00
Nicholas Nethercote
7f3476781b Bug 1328373 (part 2) - Remove mozilla_sampler_get_responsiveness declaration. r=mstange.
It's unused.

--HG--
extra : rebase_source : 6e1e0f896f10367bb538c8e5839e2ac36174230c
2017-01-19 08:07:51 +11:00
Nicholas Nethercote
5fa7607c99 Bug 1328373 (part 1) - Remove mozilla_sampler_save. r=mstange.
It's unused.

--HG--
extra : rebase_source : ae05fc3bb205833e86f542ad2eba36de4d71b3b4
2017-01-19 08:07:50 +11:00
Nicholas Nethercote
a0ab21e630 Bug 1328369 - Remove tlsStackTop and set_tls_stack_top. r=mstange.
They are unused.

--HG--
extra : rebase_source : 1dd53c26f07c828102b3c12122d22bb1b0e74f3f
2017-01-19 08:07:23 +11:00
Nicholas Nethercote
eee9038a2f Bug 1317771 (part 2) - Remove SPS_STANDALONE. r=mstange.
This patch removes all the |#ifdef SPS_STANDALONE| blocks.

--HG--
extra : rebase_source : 0ccb72987e6b951360c6b9905ab47c61f59282c0
2017-01-19 08:07:00 +11:00
Nicholas Nethercote
4a820fa2dd Bug 1317771 (part 1) - Remove SPS_STANDALONE. r=mstange.
This patch removes all the |#ifndef SPS_STANDALONE| guards.

--HG--
extra : rebase_source : af03e38e521d7ef0c3c920209cc8330a40d9b007
2017-01-19 08:06:59 +11:00
Nicholas Nethercote
d7d1bbbb95 Bug 1331571 - Remove Intel Power Gadget integration from the compiler. r=mstange.
Nobody has ever used this, and measuring power consumption while running a
sampling profiler at 1000 Hz isn't a good idea.

--HG--
extra : rebase_source : b84255a08bfea07b90bedc1f24086695143d5c8e
2017-01-19 08:05:47 +11:00
Jan Beich
9e123aa5bd Bug 1329467 - Drop non-SPS version of AutoProfilerRegister. r=mstange
MozReview-Commit-ID: 9lZLPAi5ZZT

--HG--
extra : rebase_source : 4dc3e2926b80308d9a7ec2e23b505518c9e10b02
2017-01-09 23:03:22 +00:00
Jan Beich
ab093993b7 Bug 1329467 - Move remaining *RAII classes from GeckoProfiler under mozilla namespace. r=mstange
MozReview-Commit-ID: I8qqGDLJkgo

--HG--
extra : rebase_source : eeda752a75c050e5f88851d7401a462d86c24b80
2017-01-09 22:11:58 +00:00
Jan Beich
4676a59c08 Bug 1329467 - Revert bug 1151829 to unbreak non-SPS build after bug 1322553. r=mstange
MozReview-Commit-ID: 14QL0Unr84G

--HG--
extra : rebase_source : 0b0cd50d4c08bfc1d16f648a40c21ce56a72af5f
2017-01-09 21:46:56 +00:00
Luke Wagner
094950cd37 Bug 1330150 - Don't abandon sample if native stack walk fails (r=ehsan)
MozReview-Commit-ID: CyPPGEGX8R2
2017-01-12 17:40:20 -06:00
Eric Rahm
87cfbc1b65 Bug 1322735 - Remove MOZ_STACKWALKING define. r=glandium
With frame pointer omission disabled we should always have usable stacks on Windows. This allows us to remove the MOZ_STACKWALKING define as it will always be enabled.

MozReview-Commit-ID: 54xs3Hf1r4P

--HG--
extra : rebase_source : dfaf13fb4c2185985f4f074c338ccf1fef8f3c94
2016-12-20 15:11:36 -08:00
Phil Ringnalda
1c2d0d367f Backed out 3 changesets (bug 1322735) for ASan leaks and xpcshell/selftest.py failures
CLOSED TREE

Backed out changeset 01cfc71ce542 (bug 1322735)
Backed out changeset 84c729c41230 (bug 1322735)
Backed out changeset b419aaefae95 (bug 1322735)
2017-01-10 20:17:34 -08:00
Eric Rahm
2e195de610 Bug 1322735 - Remove MOZ_STACKWALKING define. r=glandium
With frame pointer omission disabled we should always have usable stacks on Windows. This allows us to remove the MOZ_STACKWALKING define as it will always be enabled.

MozReview-Commit-ID: 54xs3Hf1r4P

--HG--
extra : rebase_source : 5fe27cdeeb464d81fbedc8c02ac187658bd759e7
2016-12-20 15:11:36 -08:00
Thinker K.F. Li
ac11da5245 Bug 1319669 - Add class AutoScopedLabel. r=cyu
--HG--
extra : rebase_source : 7f39a2a74117442126c2280d35d80a45eecdcf57
2017-01-09 18:46:00 +01:00
Carsten "Tomcat" Book
89882dc5f4 merge mozilla-inbound to mozilla-central a=merge 2017-01-10 12:11:31 +01:00
Phil Ringnalda
1501dc93d8 Backed out changeset e39a1f381b85 (bug 1329861) for failures in browser_webconsole_console_trace_async.js and browser_net_cause.js
CLOSED TREE

MozReview-Commit-ID: GeiUQqUy9NG
2017-01-09 21:30:17 -08:00
Ehsan Akhgari
232b749f36 Bug 1329861 - Disable async stack capturing while profiling using the Gecko Profiler; r=mstange 2017-01-10 11:29:52 +08:00
Nathan Froyd
e4b0546d8d Bug 1329634 - actually call profiler_tracing in GeckoProfilerTracingRAII constructor; r=mstange 2017-01-09 18:50:53 -05:00
Jan Beich
b492741091 Bug 1329291 - Unbreak build on non-SPS platforms after bug 1142197. r=froydnj
MozReview-Commit-ID: LIfC5mj8uzL

--HG--
extra : rebase_source : 5290d461c6bba0d26b7ff1dbbc42964af8dcb8cc
2017-01-08 03:03:39 +00:00
Jan Beich
f77c4a415c Bug 1329466 - Unbreak build on non-SPS platforms after bug 1323100. r=mstange
MozReview-Commit-ID: Af1CuVYSNCj

--HG--
extra : rebase_source : ac6c76674785912a24081e7140df33ec0c2789e1
2017-01-08 03:04:48 +00:00
Nathan Froyd
9f924cc32c Bug 1322553 - part 1 - add a non-backtrace-taking constructor for GeckoProfilerTracingRAII; r=mstange
Sometimes there's no backtrace available, but you still want to denote
an interesting event.
2017-01-07 15:56:49 -05:00
Ryan VanderMeulen
1e6f972917 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05:00
Iris Hsiao
7e248d8cc9 Merge mozilla-central to autoland 2017-01-06 11:13:22 -05:00
Markus Stange
4bdc4ca0fb Bug 1323100 - Register most of the remaining threadfunc threads with the profiler. r=froydnj
As far as I can tell, this covers all the remaining threads which we start
using PR_CreateThread, except the ones that are created inside NSPR or NSS,
and except for the Shutdown Watchdog thread in nsTerminator.cpp and the
CacheIO thread. The Shutdown Watchdog thread stays alive past leak detection
during shutdown (by design), so we'd report leaks if we profiled it. The
CacheIO thread seems to stay alive past shutdown leak detection sometimes as
well.

This adds a AutoProfilerRegister stack class for easy registering and
unregistering. There are a few places where we still call
profiler_register_thread() and profiler_unregister_thread() manually, either
because registration happens conditionally, or because there is a variable that
gets put on the stack before the AutoProfilerRegister (e.g. a dynamically
generated thread name). AutoProfilerRegister needs to be the first object on
the stack because it uses its own `this` pointer as the stack top address.

MozReview-Commit-ID: 3vwhS55Yzt

--HG--
extra : rebase_source : 56dd27282e7bd09a7e7dc7ca09ccfe3a0198e7af
2017-01-05 16:34:26 +01:00
Joel Maher
767b9e9306 Bug 1253155 - remove test_saved_stacks.js as it isn't useful. r=fitzgen
MozReview-Commit-ID: FLBM9k6jpn6
2016-12-30 12:30:17 -05:00
Wes Kocher
26a1ba5c14 Backed out 27 changesets (bug 1323100) for clipboard leaktest failures a=backout
Backed out changeset 84fb749698ab (bug 1323100)
Backed out changeset d6d25e8bd001 (bug 1323100)
Backed out changeset 1b0855bb0c38 (bug 1323100)
Backed out changeset b6953e3f5739 (bug 1323100)
Backed out changeset 5572f3b63215 (bug 1323100)
Backed out changeset 12fb4c533659 (bug 1323100)
Backed out changeset c36524e4e919 (bug 1323100)
Backed out changeset 1e3b3eddbe26 (bug 1323100)
Backed out changeset 061110f1ae12 (bug 1323100)
Backed out changeset 413dbd31725b (bug 1323100)
Backed out changeset 06550f7eca62 (bug 1323100)
Backed out changeset 940933b13b36 (bug 1323100)
Backed out changeset a6d75c1cd724 (bug 1323100)
Backed out changeset 681cacbbaa3b (bug 1323100)
Backed out changeset 3d53787293f6 (bug 1323100)
Backed out changeset c0340dfe4766 (bug 1323100)
Backed out changeset 9f554991549d (bug 1323100)
Backed out changeset 757539e7039a (bug 1323100)
Backed out changeset a3c9b45aa917 (bug 1323100)
Backed out changeset 23d69df98a66 (bug 1323100)
Backed out changeset 1297ded6a01d (bug 1323100)
Backed out changeset f4235b97257f (bug 1323100)
Backed out changeset 93419cb4f29f (bug 1323100)
Backed out changeset 865d1b81c804 (bug 1323100)
Backed out changeset 54acf4ef8e84 (bug 1323100)
Backed out changeset 88d17bcd8205 (bug 1323100)
Backed out changeset 0c466e5e8933 (bug 1323100)
2016-12-29 16:28:36 -08:00
Markus Stange
2319d2881d Bug 1324941 - Add a profiler label and a profiler marker for DOMEvent dispatch. r=smaug
MozReview-Commit-ID: 9nyftWPKRVe

--HG--
extra : rebase_source : 0ef900fa5c7749dd5bcec32da6b37aad91f0a518
2016-12-23 12:44:35 +01:00
Markus Stange
48513de60f Bug 1323100 - Register most of the remaining threadfunc threads with the profiler. r=froydnj
As far as I can tell, this covers all the remaining threads which we start
using PR_CreateThread, except the ones that are created inside NSPR or NSS.

This adds a AutoProfilerRegister stack class for easy registering and
unregistering. There are a few places where we still call
profiler_register_thread() and profiler_unregister_thread() manually, either
because registration happens conditionally, or because there is a variable that
gets put on the stack before the AutoProfilerRegister (e.g. a dynamically
generated thread name). AutoProfilerRegister needs to be the first object on
the stack because it uses its own `this` pointer as the stack top address.

MozReview-Commit-ID: 3vwhS55Yzt

--HG--
extra : rebase_source : dffab11abf7d4b57fa54475fd22e71b84375cd7b
2016-12-29 22:32:52 +01:00
Steve Fink
bb5723d671 Bug 1326134 - Report whether javascript.options.asyncstack is active, r=fitzgen
--HG--
extra : rebase_source : dce39aa1d4c1c3ae264beb3bd6ea2866b6d960b7
2016-12-28 17:33:12 -08:00
Steve Fink
3949f5f1e8 Bug 1326134 - Report DEBUG builds in profiles, r=mstange
--HG--
extra : rebase_source : 6b63ad187df9f1591e30397e017c69277d014697
2016-12-28 17:20:42 -08:00
Steve Fink
8ccd756578 Bug 1326134 - Report whether GC poisoning is enabled in profiles, r=jonco
--HG--
extra : rebase_source : 8b64acda00627b1ab9c8ba3666dc0dc4e51819d9
2016-12-28 17:12:23 -08:00
Nathan Froyd
e618b8d55a Bug 1328408 - make Sampler::GetRegisteredThreads not copy the registered threads list; r=mstange
We call GetRegisteredThreads repeatedly on the sampler thread whenever
the profiler is active; there's no reason to have it churn memory.
2017-01-05 15:55:47 -05:00
Nathan Froyd
fea256a2e2 Bug 1328636 - move Sampler::{Register,Unregister}CurrentThread into common code; r=mstange
We have an abstraction over the current thread ID already, so we can use
that to get the current thread id and eliminate this bit of
cut-and-paste programming.
2017-01-05 15:41:09 -05:00
Nathan Froyd
977ac8192b Bug 1328370 - remove GeckoSampler::mPrimaryThreadProfile; r=mstange
The only interesting setter of this field is
GeckoSampler::GetPrimaryThreadProfile, which is unused.  Once that
function is removed, mPrimaryThreadProfile is set to null in
GeckoSampler's constructor and never changed or referenced.
2017-01-06 09:21:01 -05:00
Nathan Froyd
4039d9589a Bug 1142197 - manage ProfilerBacktrace with UniquePtr; r=mstange
Smart pointers are better than raw pointers.
2017-01-06 09:21:01 -05:00
Nathan Froyd
0dab5bba8e Bug 1322863 - part 3 - manage Sampler::PlatformData with UniquePtr; r=mstange
Smart pointers are better than raw pointers, and this makes clients of
PlatformData slightly simpler because they don't have to manage
destruction themselves: the new UniquePtr-derived type handles all of
that for us.
2017-01-06 09:21:01 -05:00
Nathan Froyd
5767fcd327 Bug 1322863 - part 2 - make ThreadInfo manage mProfile with UniquePtr; r=mstange
Smart pointers are better than raw pointers.  This change also has the
benefit of removing the manual memory management in ~GeckoSampler and
locating all the memory management in ThreadInfo, where it belongs.
2017-01-06 09:21:01 -05:00
Nathan Froyd
9a1517cd65 Bug 1322863 - part 1 - make ThreadInfo::mName a UniqueFreePtr; r=mstange
Smart pointers are better than raw pointers.
2017-01-06 09:21:01 -05:00
Ting-Yu Chou
8a91298c2f Bug 1322465 part 12 - Use explicit/MOZ_IMPLICIT for the unary constructors in tools/. r=Ehsan
MozReview-Commit-ID: 5fp6E1T7HrW

--HG--
extra : rebase_source : 0fda130fa69d6c0a7e7f3d1838a22c4b5f6459b0
2016-12-16 16:36:44 +08:00
Nathan Froyd
a2f6acca0f Bug 1323024 - remove OS X 10.6 shared library support from the profiler; r=mstange
We don't support OS X versions below 10.6 nowadays.
2016-12-03 23:51:39 -05:00
Markus Stange
d7d6b57c9d Bug 1323072 - Trace tasks dispatched on Chromium (non-XPCOM) threads. r=sinker
MozReview-Commit-ID: GKfPCAspwDz

--HG--
extra : rebase_source : bde6aafe3ef989600d32b771f912871c0819cc44
2016-12-12 17:38:12 -05:00
Mike Conley
fe7351b75f Bug 1322758 - Stop decrementing ProfileGatherer counter when receiving an exit profile. r=mstange
For some reason, we were decrementing the ProfileGatherer's mPendingProfiles
when receiving an "exit profile". An exit profile is handed over by a subprocess
parent actor, but in order to have that exit profile, the content process
_must_ have sent it up to the parent already, and that means that the counter
had alreay been decremented on its receipt.

This means that if the subprocess parent actor exited, it'd decrement
the counter twice, which means that we open ourselves up for missing out
on profiles that haven't yet reached the parent.

I can't think of a good reason why we'd want to decrement the counter
when storing an exit profile, so I've just removed that bit.

MozReview-Commit-ID: 8jSqtpYbXh0

--HG--
extra : rebase_source : 64eadae51b0192231846327c0e677154287bd1a6
2016-12-09 18:05:45 -05:00
Andrew McCreight
fccb0645ed Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd
826598caba Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight
e31b5489da Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Thinker K.F. Li
db61896b15 Bug 1319669 - Handle TaskTracer at STS thread and Cache thread. r=honzab 2016-12-09 14:09:00 -05:00
Markus Stange
016f125539 Bug 1322471 - Report the true thread name for content process threads in the profile, and add a processType field. r=BenWa
MozReview-Commit-ID: 52Eb3Rks9mE

--HG--
extra : rebase_source : 62c170badbf3897d303301489d8e919819f71f80
2016-12-07 21:40:20 -10:00
Shih-Chiang Chien
1de6877d89 Bug 1319682 - fix compile warning/error in TaskTracer, r=sinker
MozReview-Commit-ID: 4E0ThIAZAxC

--HG--
extra : rebase_source : d1cb4ae28e7d10b5bdd3d87d6a97413e2d204057
2016-11-24 17:51:23 +08:00
Thinker K.F. Li
dfc96df660 Bug 1287392 - Part 8: Improve performance of logging of TaskTracer. r=cyu 2016-11-22 00:15:00 +08:00
Thinker K.F. Li
458949dc68 Bug 1287392 - Part 7: Change definition of VPtr of TaskTracer. r=cyu 2016-11-22 00:14:00 +08:00
Thinker K.F. Li
df311cea99 Bug 1287392 - Part 6: Add VirtualTask RAII class. r=cyu 2016-11-22 00:13:00 +08:00
Thinker K.F. Li
b39737d4c2 Bug 1287392 - Part 5: Fix bugs of sync for TaskTracer. r=cyu 2016-11-22 00:11:00 +08:00
Thinker K.F. Li
6a49d378ba Bug 1287392 - Part 4: Expose a file writer API for GeckoProfiler. r=mstange 2016-11-19 02:48:00 +08:00
Jon Coppeard
5cd9e63353 Backout changeset 093a7b8b7285 (bug 1297360) for causing bug 1316150 2016-11-21 10:26:31 +00:00
Thinker K.F. Li
90bdeea890 Bug 1287392 - Part 2: Ignore obsolete TaskTracer data and fix vptr. r=cyu 2016-11-10 07:58:00 +01:00
Thinker K.F. Li
9be93d8af3 Bug 1287392 - Part 1: Fix TaskTracer bugs caused by the changes of IPC. r=khuey, r=bgirard 2016-11-11 20:26:00 +01:00
Carsten "Tomcat" Book
c2c23abfe2 Backed out changeset 606c7cb149c9 (bug 1287392) for bustage on a CLOSED TREE 2016-11-11 17:03:23 +01:00
Carsten "Tomcat" Book
fd71412fa1 Backed out changeset ac7da68e00f5 (bug 1287392) 2016-11-11 17:03:04 +01:00
Thinker K.F. Li
6690ec87fe Bug 1287392 - Part 2: Ignore obsolete TaskTracer data and fix vptr. r=cyu
--HG--
extra : rebase_source : fb2b5db63207e4afda3751e10797bdd07d791abf
2016-11-10 07:58:00 -05:00
Thinker K.F. Li
9f1f17b5dc Bug 1287392 - Part 1: Fix TaskTracer bugs caused by the changes of IPC. r=khuey, r=bgirard
--HG--
extra : rebase_source : d7c6771ada2f19b028760456bd976bf578e58cf6
2016-11-10 07:57:00 -05:00
Sebastian Hengst
69e7d5814f Bug 1310297 - Remove test annotations using b2g, mulet or gonk: toolkit. r=RyanVM
MozReview-Commit-ID: I5LuDjnM7By

--HG--
extra : rebase_source : f9b5704ab17d717169a4b89651f7ede68cec2091
2016-11-05 11:29:22 +01:00
Benjamin Bouvier
3397fa4d20 Bug 1304672: Renamings outside asmjs/ and jit/; r=luke
MozReview-Commit-ID: 1LGFJMlHaz2

--HG--
extra : rebase_source : 3ee8b822a6097260c9b9c0487b91a63e6ff1e575
2016-11-02 18:22:37 +01:00
Gabriele Svelto
8cbbe7f4b5 Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted
* * *
Bug 1264367 - Accomodate for the new version of Breakpad
2016-10-05 11:46:07 +02:00
Tom Schuster
774a8bf34d Bug 1302163 - Change code to use SprintfLiteral instead of snprintf. r=ehsan 2016-10-04 17:57:51 +02:00
Tom Tromey
1b3a828426 Bug 1067547 - add more uses of MOZ_COUNT_CTOR to tools/profiler; r=bsmedberg
MozReview-Commit-ID: 5Gf5OkydkL0

--HG--
extra : rebase_source : a32eabd5c8d051370b0f52e1b8edf8029da95a6d
2016-09-26 11:05:44 -06:00
Jan de Mooij
e079cbfe2a Bug 1302914 - Use GetThreadContext after calling SuspendThread to ensure threads are really suspended. r=froydnj 2016-09-29 20:05:36 +02:00
Jim Chen
52cdccecbf Bug 1305271 - Only enable Java profiling on Android; r=bustage on CLOSED TREE
Only enable Java profiling (and access jni::IsFennec) on Android, where
Java profiling makes sense.
2016-09-29 00:11:57 -04:00
Jim Chen
3f0f41aeb3 Bug 1305271 - 2. Add and use jni::IsFennec() for Fennec-only code; r=snorp
Add jni::IsFennec() that returns whether we're in a Fennec environment
(defined as the presence of the GeckoApp class). Then, add
jni::IsFennec() checks to places where we use JNI for Fennec-only classes.
2016-09-28 23:49:25 -04:00
Kartikaya Gupta
2a997eb496 Bug 1304694 - Fix windows builds which don't have MOZ_STACKWALKING defined. r=froydnj
MozReview-Commit-ID: I1UIlVWbu9T
2016-09-22 16:21:56 -04:00
Eric Faust
121151ec67 Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Phil Ringnalda
b9ee856eba Backed out changeset ae50c61cb134 (bug 1264367) for breaking crash stacks on at least Android and Linux 2016-09-21 13:26:24 -07:00
Gabriele Svelto
b3a7e5c8a0 Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted 2016-09-21 17:44:50 +02:00
Jim Chen
27143e4fba Bug 1303806 - 3. Update sources to reflect new bindings; r=snorp r=nalexander
Update #includes to use new headers if necessary. Also remove a couple
of functions in AndroidBridge to clean up the code.
2016-09-20 17:42:08 -04:00
Wes Kocher
611fb66887 Backed out changeset 39da44265946 (bug 1263595) for build bustage a=backout CLOSED TREE 2016-09-16 14:19:22 -07:00
Eric Faust
db0cfdc6bc Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Phil Ringnalda
6beabc555f Backed out changeset 48694b762a84 (bug 1263595) for -Werror bustage
CLOSED TREE
2016-09-15 22:04:50 -07:00
Eric Faust
c725e729c5 Bug 1263595 - Avoid deadlock between the JIT and the gecko profiler on win64. (r=froydnj) 2016-09-15 21:35:14 -07:00
Phil Ringnalda
a6e7ea4e26 Backed out changeset af84ff6bfd7e (bug 1264367) for causing crash stacks to lack symbols
CLOSED TREE
2016-09-15 19:15:45 -07:00
Gabriele Svelto
6fc3c4e6fd Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted 2016-09-15 17:31:13 +02:00
Nathan Froyd
e5a612a8f0 Bug 1298151 - fix member initialization order in platform-win32.cc; r=BenWa 2016-09-14 19:28:26 -04:00
Jon Coppeard
d97a19687b Bug 1298639 - Use bytecode offsets rather than direct pointer in profiling API r=shu 2016-09-13 14:06:46 +02:00
Jon Coppeard
c5e590d3e6 Bug 1297360 - Copy strings returned by ProfilingFrameIterator API r=djvj 2016-09-08 13:38:37 +01:00
Aaron Klotz
f2f2b539f2 Bug 1301167: Add a GeckoProfilerWakeRAII interface to the profiler; r=BenWa
MozReview-Commit-ID: KGn9qF7fZAs
2016-09-07 14:28:50 -06:00
Nicholas Nethercote
34dcc7b852 Bug 1299384 - Use MOZ_MUST_USE with NS_warn_if_impl(). r=erahm.
This change avoids lots of false positives for Coverity's CHECKED_RETURN
warning, caused by NS_WARN_IF's current use in both statement-style and
expression-style.

In the case where the code within the NS_WARN_IF has side-effects, I made the
following change.

> NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));
> -->
> Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));

In the case where the code within the NS_WARN_IF lacks side-effects, I made the
following change.

> NS_WARN_IF(!condWithoutSideEffects);
> -->
> NS_WARNING_ASSERTION(condWithoutSideEffects, "msg");

This has two improvements.
- The condition is not evaluated in non-debug builds.
- The sense of the condition is inverted to the familiar "this condition should
  be true" sense used in assertions.

A common variation on the side-effect-free case is the following.

> nsresult rv = Fn();
> NS_WARN_IF_(NS_FAILED(rv));
> -->
> DebugOnly<nsresult rv> = Fn();
> NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed");

--HG--
extra : rebase_source : 58788245021096efa8372a9dc1d597a611d45611
2016-09-02 17:12:24 +10:00
Ryan VanderMeulen
e5adfbffe6 Merge m-c to autoland. a=merge
--HG--
rename : accessible/tests/browser/browser_caching_attributes.js => accessible/tests/browser/e10s/browser_caching_attributes.js
rename : accessible/tests/browser/browser_caching_description.js => accessible/tests/browser/e10s/browser_caching_description.js
rename : accessible/tests/browser/browser_caching_name.js => accessible/tests/browser/e10s/browser_caching_name.js
rename : accessible/tests/browser/browser_caching_relations.js => accessible/tests/browser/e10s/browser_caching_relations.js
rename : accessible/tests/browser/browser_caching_states.js => accessible/tests/browser/e10s/browser_caching_states.js
rename : accessible/tests/browser/browser_caching_value.js => accessible/tests/browser/e10s/browser_caching_value.js
rename : accessible/tests/browser/browser_events_caretmove.js => accessible/tests/browser/e10s/browser_events_caretmove.js
rename : accessible/tests/browser/browser_events_hide.js => accessible/tests/browser/e10s/browser_events_hide.js
rename : accessible/tests/browser/browser_events_show.js => accessible/tests/browser/e10s/browser_events_show.js
rename : accessible/tests/browser/browser_events_statechange.js => accessible/tests/browser/e10s/browser_events_statechange.js
rename : accessible/tests/browser/browser_events_textchange.js => accessible/tests/browser/e10s/browser_events_textchange.js
rename : accessible/tests/browser/browser_treeupdate_ariadialog.js => accessible/tests/browser/e10s/browser_treeupdate_ariadialog.js
rename : accessible/tests/browser/browser_treeupdate_ariaowns.js => accessible/tests/browser/e10s/browser_treeupdate_ariaowns.js
rename : accessible/tests/browser/browser_treeupdate_canvas.js => accessible/tests/browser/e10s/browser_treeupdate_canvas.js
rename : accessible/tests/browser/browser_treeupdate_cssoverflow.js => accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
rename : accessible/tests/browser/browser_treeupdate_doc.js => accessible/tests/browser/e10s/browser_treeupdate_doc.js
rename : accessible/tests/browser/browser_treeupdate_gencontent.js => accessible/tests/browser/e10s/browser_treeupdate_gencontent.js
rename : accessible/tests/browser/browser_treeupdate_hidden.js => accessible/tests/browser/e10s/browser_treeupdate_hidden.js
rename : accessible/tests/browser/browser_treeupdate_imagemap.js => accessible/tests/browser/e10s/browser_treeupdate_imagemap.js
rename : accessible/tests/browser/browser_treeupdate_list.js => accessible/tests/browser/e10s/browser_treeupdate_list.js
rename : accessible/tests/browser/browser_treeupdate_list_editabledoc.js => accessible/tests/browser/e10s/browser_treeupdate_list_editabledoc.js
rename : accessible/tests/browser/browser_treeupdate_listener.js => accessible/tests/browser/e10s/browser_treeupdate_listener.js
rename : accessible/tests/browser/browser_treeupdate_optgroup.js => accessible/tests/browser/e10s/browser_treeupdate_optgroup.js
rename : accessible/tests/browser/browser_treeupdate_removal.js => accessible/tests/browser/e10s/browser_treeupdate_removal.js
rename : accessible/tests/browser/browser_treeupdate_table.js => accessible/tests/browser/e10s/browser_treeupdate_table.js
rename : accessible/tests/browser/browser_treeupdate_textleaf.js => accessible/tests/browser/e10s/browser_treeupdate_textleaf.js
rename : accessible/tests/browser/browser_treeupdate_visibility.js => accessible/tests/browser/e10s/browser_treeupdate_visibility.js
rename : accessible/tests/browser/browser_treeupdate_whitespace.js => accessible/tests/browser/e10s/browser_treeupdate_whitespace.js
rename : accessible/tests/browser/doc_treeupdate_ariadialog.html => accessible/tests/browser/e10s/doc_treeupdate_ariadialog.html
rename : accessible/tests/browser/doc_treeupdate_ariaowns.html => accessible/tests/browser/e10s/doc_treeupdate_ariaowns.html
rename : accessible/tests/browser/doc_treeupdate_imagemap.html => accessible/tests/browser/e10s/doc_treeupdate_imagemap.html
rename : accessible/tests/browser/doc_treeupdate_removal.xhtml => accessible/tests/browser/e10s/doc_treeupdate_removal.xhtml
rename : accessible/tests/browser/doc_treeupdate_visibility.html => accessible/tests/browser/e10s/doc_treeupdate_visibility.html
rename : accessible/tests/browser/doc_treeupdate_whitespace.html => accessible/tests/browser/e10s/doc_treeupdate_whitespace.html
rename : accessible/tests/browser/events.js => accessible/tests/browser/e10s/events.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/browser_ext_pageAction_title.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/head_pageAction.js
rename : dom/events/test/pointerevents/pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html
rename : dom/events/test/pointerevents/test_pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
rename : media/webrtc/trunk/tools/gyp/test/compiler-override/compiler.gyp => media/webrtc/trunk/tools/gyp/test/compiler-override/compiler-exe.gyp
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/ios/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp => media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.py
rename : media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.asm => media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.assem
rename : mfbt/unused.h => mfbt/Unused.h
rename : testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture.html => testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture-manual.html
extra : rebase_source : a3de7d91a61df9b14fe07a89f5b0184a067549cf
2016-08-25 08:14:36 -04:00
Benoit Girard
3011e2c2dd Bug 1297773 - Fix thread filter to use case insensitive substring matching. r=mstange
MozReview-Commit-ID: 9umKsSQ9a73

--HG--
extra : rebase_source : 4358a4cf8d8b6e613097449e90a1cbb92f668552
2016-08-24 16:22:53 -04:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Igor
175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Jim Chen
c800eaab74 Bug 1292323 - Update WrapForJNI usages; r=snorp
Replace old flags in WrapForJNI usages with new flags. The calledFrom
and dispatchTo flags are set based on whether the method is native or
non-native, and how the method is used.

Also fix testEventDipatcher to respect NativeJSObject's calledFrom =
"gekco" flag, by moving a test to Gecko thread.
2016-08-12 23:15:52 -04:00
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Nicholas Nethercote
bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Igor
4efade90d4 Bug 1197331 - remove PR_snprintf calls in miscellaneous directories. r=nfroyd
--HG--
extra : rebase_source : a19f77db06e68bd3d69faf56b8bbdc1825f13249
2016-08-04 16:41:00 +02:00
Alexandre Lissy
0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Carsten "Tomcat" Book
336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Jim Chen
ce45a595ab Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 13:49:04 -04:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Carsten "Tomcat" Book
e8bc59a87a Backed out changeset 684888aeee81 (bug 1287946) 2016-07-21 08:07:12 +02:00
Jim Chen
78f67d1f6f Bug 1287946 - Update existing code to use mozilla::java; r=me 2016-07-21 00:42:26 -04:00
Thomas Zimmermann
4bee1b2945 Bug 1288077: Forward declare arrays by including 'nsTArrayForwardDeclare.h', r=froydnj
MozReview-Commit-ID: 4RBeHDyhQgr
2016-07-20 17:29:36 +02:00
Nicholas Nethercote
a913f99107 Bug 1285554 - Remove remnants of widget/qt. r=dougt,mshal.
Because bug 1282866 removed Qt support but missed a bunch of things.
* * *
Bug 1285554 - more

--HG--
extra : rebase_source : c48d2485f1fdf1c961e08d91651bbca41e3a1a53
2016-07-12 09:16:45 +10:00
Chris Peterson
2b3b60f7b1 Bug 1277155 - Part 1: Remove snprintf() polyfills for VS2013 in Sprintf.h and #defines. r=froydnj r=mhowell 2016-06-27 20:45:03 -07:00
Nathan Froyd
b4dc060490 Bug 1281581 - save and restore errno in the profiler's signal handler; r=BenWa
The profiler's signal handler clobbers errno, via its calls to sem_post,
or via other functions that it transitively calls.  TSan complains about
this, as a sample arriving at the wrong time could make it look like a
function that failed actually succeeded, or vice versa.  Ensure that the
signal handler preserves the state of the world by saving and restoring
errno around its operation.
2016-06-28 19:17:43 -04:00
Thomas Zimmermann
89ae3af487 Bug 1276927: Fix breakpad to build on B2G, r=mshal
This patch unifies the include search directories for the breakpad
on B2G and Android, and protects breakpad-internal workarounds against
multiple definition.

As a side-effect of the patch set, no more Gonk-specific headers from
'gonk-include' are requried to build toolkit/ or xpcom/. The related
artifacts are removed by this patch.

MozReview-Commit-ID: E94I2rspDtJ
2016-06-16 08:43:51 +01:00
Sebastian Hengst
277e158ff3 Backed out changeset a7cc17d184bd (bug 1276927) 2016-06-15 12:23:59 +02:00
Thomas Zimmermann
5693604fd0 Bug 1276927: Fix breakpad to build on B2G, r=mshal
This patch unifies the include search directories for the breakpad
on B2G and Android, and protects breakpad-internal workarounds against
multiple definition.

As a side-effect of the patch set, no more Gonk-specific headers from
'gonk-include' are requried to build toolkit/ or xpcom/. The related
artifacts are removed by this patch.

MozReview-Commit-ID: E94I2rspDtJ
2016-06-15 10:59:49 +01:00
Chris Peterson
11ef78ae89 Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj
--HG--
rename : mfbt/Endian.h => mfbt/EndianUtils.h
2016-05-22 13:31:11 -07:00
Chris Peterson
353ee65255 Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
Nathan Froyd
8db25584a9 Bug 1270928 - part 4 - return a UniquePtr from GetLoggedData; r=BenWa
This change makes ownership clearer and enables us to get rid of the
last use of nsAutoPtr in tools/profiler/.
2016-05-09 10:04:50 -04:00
Nathan Froyd
73cd95dafd Bug 1270928 - part 3 - don't include nsAutoPtr.h in ThreadResponsiveness.h; r=BenWa
Do #include RefPtr.h, though, since we need that for the definition of
ThreadResponsiveness.
2016-05-09 10:04:50 -04:00
Nathan Froyd
31c3d5d2af Bug 1270928 - part 2 - use UniquePtr in GeckoTaskTracer.cpp:sTraceInfos; r=BenWa
Less nsAutoPtr usage and header bootlegging is a good thing.
2016-05-09 10:04:50 -04:00
Nathan Froyd
6b5caaf0b7 Bug 1270928 - part 1 - use UniquePtr in PROFILER_MARKER_PAYLOAD; r=BenWa
We'd like to get rid of nsAutoPtr usage, and this header doesn't even
#include nsAutoPtr.h.
2016-05-09 10:04:50 -04:00
Jim Chen
0574002b30 Bug 1260208 - part 0 - correctly compare EHTable when sorting; r=froydnj
operator< for EHTable compares the LHS start PC with the RHS *end* PC.
Because the ranges are non-overlapping, this works fine for two distinct
EHTables. However, the comparison doesn't work if LHS and RHS refer to
the same EHTable; in that case operator< returns true, even though it
should return false because the two operands are identical.

The operator is used to sort a std::vector using std::sort [1].  I think
the libc++ std::sort implementation has a quirk where, if the comparison
function has the above bug, sort will sometimes get confused, and start
sorting "values" outside of the memory range that it's given.  This
results in memory corruption and subsequent unpredictable behavior.

The fix is simply to compare only the start PCs in EHTable, so that
std::sort can work on it correctly.

[1] http://mxr.mozilla.org/mozilla-central/source/tools/profiler/core/EHABIStackWalk.cpp?rev=86730d0a8209#485
2016-05-03 09:13:49 -04:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Charles Collicutt
60a5a1819e Bug 1261392 - Define gettid for all Linux builds. r=bgirard 2016-04-11 22:49:00 +02:00
Ryan VanderMeulen
139ecf837b Backed out changeset 14eb89c4134d (bug 1261392) for Android bustage.
--HG--
extra : rebase_source : 02b744b942c4d14b43435f8762a4f56a8d5b550f
2016-04-10 16:57:26 -04:00
Charles Collicutt
239fba2186 Bug 1261392 - Define gettid for all Linux builds. r=BenWa 2016-04-09 13:40:00 -04:00
Eric Rahm
7a9e99d2c6 Bug 1251787 - Remove remaining references to MOZILLA_XPCOMRT_API from tools. r=mstange 2016-02-27 11:12:08 -08:00
James Willcox
faeba278d1 Fix Fennec build on Mac, no bug, NPTOB r=ted 2016-02-08 17:45:27 -06:00
Ted Mielczarek
ea6f9a1958 bug 1069556 - sync to Breakpad c53ed143108948eb7e2d7ee77dc8c0d92050ce7c. r=glandium, benwa
This commit contains a few things:
* Update our copy of google-breakpad to upstream c53ed143108948eb7e2d7ee77dc8c0d92050ce7c
* Get rid of all but one local patch, fold a few related local patches into one
* Misc build fixup to sync with upstream--adding a few new moz.build files,
  source files
* The final bits of unhooking Breakpad from the profiler:
** Revert to only building toolkit/crashreporter if MOZ_CRASHREPORTER.
** Stop building bits of Breakpad that we only needed for the profiler.
** Remove a few bits of profiler code that were used to interface with Breakpad.
** Remove toolkit/crashreporter/breakpad-logging, which was only used to
   suppress Breakpad logging for the in-process stackwalker.
* Upstream removed their Android-compat sys/ucontext.h because the Android NDK
  added it, but the bionic we're using for Gonk builds is too old, so add a
  copy of the previous version of those files to
  toolkit/crashreporter/gonk-include to keep Gonk building.
* Consolidate moz.build files under toolkit/crashreporter/google-breakpad/client/linux

--HG--
rename : toolkit/crashreporter/google-breakpad/src/common/pathname_stripper.h => toolkit/crashreporter/google-breakpad/src/processor/pathname_stripper.h
rename : toolkit/crashreporter/google-breakpad/src/common/pathname_stripper_unittest.cc => toolkit/crashreporter/google-breakpad/src/processor/pathname_stripper_unittest.cc
extra : histedit_source : 43e65f5432657f548cac5aa7936461e58454c3b6%2C7b56ccc79d9d58ebde0583d920f3593e25212621
extra : rebase_source : f6dbfb8fb2ba5b27e63b26d57c404962679c7a76
extra : commitid : DMQlXPms868
extra : source : 09fd4f3ab6e764016fe073efb226f03b5969af59
extra : intermediate-source : 16f9d3a6d2ef6a6efd088e3b8eff0a4723daef8f
2016-01-27 09:39:53 -05:00
Chris H-C
843e04bb32 Bug 1238121 - Properly guard Profiler's RAII classes r=BenWa f=mystor
We can't use GuardObjects easily on the printf variant as va_list args and
default args can't play together.
2016-01-28 09:19:00 +01:00
Wes Kocher
23122402f7 Backed out changeset 65624d4c4a65 (bug 1238121) to hopefully fix the intermittent hazard failures
--HG--
extra : commitid : 6SsEbxXjwKq
2016-01-29 10:14:34 -08:00
Nathan Froyd
b1bbf96de9 Backout 24dbe7da7370:a319694b46d5 (bug 1069556) for build bustage on various platforms on a CLOSED TREE
--HG--
rename : toolkit/crashreporter/google-breakpad/src/client/linux/Makefile.in => toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in
rename : toolkit/crashreporter/google-breakpad/src/processor/pathname_stripper.h => toolkit/crashreporter/google-breakpad/src/common/pathname_stripper.h
rename : toolkit/crashreporter/google-breakpad/src/processor/pathname_stripper_unittest.cc => toolkit/crashreporter/google-breakpad/src/common/pathname_stripper_unittest.cc
2016-01-29 11:55:43 -05:00
Ted Mielczarek
478ab040e0 bug 1069556 - local build changes to match up with upstream Breakpad. r=benwa,glandium
This commit contains a few things:
* Misc build fixup to sync with upstream--adding a few new moz.build files,
  source files
* The final bits of unhooking Breakpad from the profiler:
** Revert to only building toolkit/crashreporter if MOZ_CRASHREPORTER.
** Stop building bits of Breakpad that we only needed for the profiler.
** Remove a few bits of profiler code that were used to interface with Breakpad.
** Remove toolkit/crashreporter/breakpad-logging, which was only used to
   suppress Breakpad logging for the in-process stackwalker.
* Upstream removed their Android-compat sys/ucontext.h because the Android NDK
  added it, but the bionic we're using for Gonk builds is too old, so add a
  copy of the previous version of those files to
  toolkit/crashreporter/gonk-include to keep Gonk building.
* Consolidate moz.build files under toolkit/crashreporter/google-breakpad/client/linux

--HG--
rename : toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in => toolkit/crashreporter/google-breakpad/src/client/linux/Makefile.in
extra : commitid : HeAH4kH17B1
extra : rebase_source : c9942aaca1d4e9555ecd44a23d7020a8a7ba1d77
extra : source : 31c98f5e107b9271be88e7c8543c4dbb4a2b6526
2016-01-27 09:39:53 -05:00
Chris H-C
dfbec1cede Bug 1238121 - Properly guard Profiler's RAII classes. r=BenWa, f=mystor
We can't use GuardObjects easily on the printf variant as va_list args and default args can't play together.

--HG--
extra : rebase_source : 418252aa8d1dcae56decd5ff99246d34578b9003
2016-01-28 09:19:00 -05:00
Carsten "Tomcat" Book
db55b0fa77 Backed out changeset 31c98f5e107b (bug 1069556)
--HG--
rename : toolkit/crashreporter/google-breakpad/src/client/linux/Makefile.in => toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in
2016-01-26 14:53:02 +01:00
Ted Mielczarek
bf718146b7 bug 1069556 - local build changes to match up with upstream Breakpad. r=benwa,glandium
This commit contains a few things:
* Misc build fixup to sync with upstream--adding a few new moz.build files,
  source files
* The final bits of unhooking Breakpad from the profiler:
** Revert to only building toolkit/crashreporter if MOZ_CRASHREPORTER.
** Stop building bits of Breakpad that we only needed for the profiler.
** Remove a few bits of profiler code that were used to interface with Breakpad.
** Remove toolkit/crashreporter/breakpad-logging, which was only used to
   suppress Breakpad logging for the in-process stackwalker.
* Upstream removed their Android-compat sys/ucontext.h because the Android NDK
  added it, but the bionic we're using for Gonk builds is too old, so add a
  copy of the previous version of those files to
  toolkit/crashreporter/gonk-include to keep Gonk building.
* Consolidate moz.build files under toolkit/crashreporter/google-breakpad/client/linux

--HG--
rename : toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in => toolkit/crashreporter/google-breakpad/src/client/linux/Makefile.in
extra : commitid : GR2H5y5DM7E
extra : rebase_source : 212b8f04703555658e1df026de2211ea20ac390b
2015-11-09 08:14:52 -05:00
Phil Ringnalda
6aeccf0426 Merge f-t to m-c, a=merge 2016-01-23 18:11:37 -08:00
Sylvestre Ledru
ab4e3a0d42 Bug 1218816 - Remove useless semicolons. Found by coccinelle. r=Ehsan
--HG--
extra : rebase_source : 7d2cc56b6553cd7a8d848d3c660f30735bd82eec
2016-01-22 16:58:49 +01:00
Tom Tromey
5412728905 Bug 757969 - use __thread in ThreadLocal; r=froydnj 2016-01-22 10:33:44 -07:00
Nick Fitzgerald
22136ee183 Bug 1241249 - Add an SPS pseudo entry for JS stack capturing; r=shu
This commit adds SPS pseudo frame entries for
`js::SavedStacks::saveCurrentStack` with the `AutoSPSEntry` RAII class.
2016-01-20 11:32:00 +01:00
Benoit Girard
34b754c945 Bug 1239498 - Use Stackwalk64 on win x64. r=jrmuizel
--HG--
extra : commitid : 7YO11uKXKTJ
2016-01-13 15:22:01 -08:00
Jeff Muizelaar
f020f6e101 Bug 1239413. Clarify comment about the context flags. 2016-01-13 14:39:23 -05:00
Andrea Marchesini
caa2f9b456 Bug 1231378 - part 4 - Fix uninitialized members of classes in netwerk/widget/storage/uriloader/memory/tools, r=smaug 2016-01-12 18:16:59 +00:00
Carsten "Tomcat" Book
3589aeeb8a Backed out changeset d6b0ffe1a7b3 (bug 1231378) 2016-01-12 15:48:54 +01:00
Andrea Marchesini
2609a149da Bug 1231378 - part 4 - Fix uninitialized members of classes in netwerk/widget/storage/uriloader/memory/tools, r=smaug 2016-01-12 13:57:37 +00:00
Nicholas Nethercote
bf641fa45d Bug 1237151 (part 4) - Turn on -Wignored-qualifiers for C++ code. r=mshal.
It's already on for C code.
2016-01-05 14:31:02 -08:00