Commit Graph

725 Commits

Author SHA1 Message Date
Benoit Girard
083016c39d Bug 734691 - Move Stack to ThreadProfile since it's thread specific. r=mstange 2012-03-12 10:58:37 -04:00
Benoit Girard
187dd54d32 Bug 734691 - Rename Stack/Profile to imply their thread specific. r=mstange 2012-03-12 10:58:33 -04:00
Benoit Girard
31a7bb0e5d Bug 732806 - Fix profiling stack end detection. r=jmuizelaar 2012-03-12 10:57:36 -04:00
Benoit Girard
21ea909e1a Bug 734707 - Fix Jank profiling feature side effects. r=jmuizelaar 2012-03-12 10:56:33 -04:00
Vladan Djeric
31d77b0c5e Bug 712109 - Implement chrome hang reporting on profiling branch. r=ehsan 2012-03-12 07:07:05 -04:00
Benoit Girard
d2d06bae65 Backout changeset a76566398d36 2012-03-11 12:03:45 -04:00
Benoit Girard
28264c98df Backed out changeset 5f5fc6a1133e 2012-03-11 12:03:05 -04:00
Benoit Girard
7e45a83a39 Bug 734691 - Part 2: Move Stack to ThreadProfile since it's thread specific. r=mstange 2012-03-10 23:09:10 -05:00
Benoit Girard
4bdad762cf Bug 734691 - Part 1: Rename Stack/Profile to imply their thread specific. r=mstange 2012-03-10 23:08:11 -05:00
Jeff Muizelaar
38361289f8 Bug 726369 - Profiler: Make the circular buffer reader code safer. r=BenWa 2012-02-11 18:56:18 -05:00
Jeff Muizelaar
71f2b82d61 Bug 723711. Return the profile data as JS objects. r=bgirard 2012-02-02 16:57:20 -05:00
Jeff Muizelaar
790c1d148c Backout c433e993506b 2012-03-09 11:21:43 -05:00
Jeff Muizelaar
52ab95122e Bug 723711. Return the profile data as JS objects. r=bgirard 2012-02-02 16:57:20 -05:00
Jeff Muizelaar
06af852226 Bug 732806. Make stackwalking respect the stack end on OS X. r=ehsan
This will help us avoid some crashes.
2012-02-15 00:17:34 -05:00
Markus Stange
5faf7e80be Bug 733792 - Leave original symbol addresses in the profile report. r=bgirard 2012-03-09 16:20:03 +01:00
Markus Stange
be4a8eaafd Bug 733792 - Add nsIProfiler::getSharedLibraryInformation. r=bgirard 2012-03-09 16:20:00 +01:00
Justin Lebar
62dbeeb1ab Bug 731789 - Rename mfbt/StdInt.h to mfbt/StandardInteger.h, so stdint types work from cpp files inside mfbt. r=waldo 2012-02-29 22:56:43 -05:00
Benoit Girard
9af1e3b547 Bug 708733 - Profiler: Only use leaf data on android ARM. r=ehsan 2012-02-11 10:49:16 -05:00
Benoit Girard
a535cc0329 Bug 730302 - Fix GetMarker code in Table::Tick. r=mstange 2012-02-24 11:51:13 -05:00
Jeff Muizelaar
a782835cb2 Bug 724079. Add back the mac backend. r=ehsan
This should improve latency and perhaps fix the crashes
we're seeing in bug 721025.
2012-02-03 15:19:18 -05:00
Benoit Girard
be2a314e45 Bug 722124 - Profiler cleanup. r=ehsan
--HG--
rename : tools/profiler/sps/TableTicker.cpp => tools/profiler/TableTicker.cpp
rename : tools/profiler/public/nsIProfiler.idl => tools/profiler/nsIProfiler.idl
rename : tools/profiler/sps/platform-linux.cc => tools/profiler/platform-linux.cc
rename : tools/profiler/sps/platform-win32.cc => tools/profiler/platform-win32.cc
rename : tools/profiler/sps/platform.h => tools/profiler/platform.h
rename : tools/profiler/sps/shared-libraries-linux.cc => tools/profiler/shared-libraries-linux.cc
rename : tools/profiler/sps/shared-libraries-macos.cc => tools/profiler/shared-libraries-macos.cc
rename : tools/profiler/sps/shared-libraries-win32.cc => tools/profiler/shared-libraries-win32.cc
rename : tools/profiler/sps/shared-libraries.h => tools/profiler/shared-libraries.h
rename : tools/profiler/sps/sps_sampler.h => tools/profiler/sps_sampler.h
rename : tools/profiler/sps/thread_helper.h => tools/profiler/thread_helper.h
rename : tools/profiler/sps/v8-support.h => tools/profiler/v8-support.h
2012-01-29 01:56:41 -05:00
Ehsan Akhgari
513b889520 Bug 721780 - Rename XRE_Main to something more useful; r=BenWa 2012-01-31 10:10:05 -05:00
Ehsan Akhgari
0222be76c4 Bug 721564 - Get module information for the profiler on Windows; r=BenWa 2012-01-26 19:03:42 -05:00
Jeff Muizelaar
223038ca63 Bug 719917. Add some more network and plugin related SAMPLE_LABELs. r=bgirard
--HG--
extra : rebase_source : d21f4ffb244ae661e1ca222c02a8fa8b40a071bd
2012-01-18 19:53:35 -05:00
Daniel Holbert
24d33794fd Bug 719698: Mark functions in thread_helper.h as 'inline' instead of 'static' to fix build warning when they go unused. r=ehsan 2012-01-20 14:43:12 -08:00
Jeff Muizelaar
56d89518ed Bug 719176. Add the ability to maintain a temporary buffer of samples. r=ehsan
This lets us make the decision about whether to discard samples later
than when we record them which is important for about:jank.
2012-01-18 18:07:46 -05:00
Matt Brubeck
897e5d3f77 Merge last green changeset from inbound to mozilla-central 2012-01-19 10:37:48 -08:00
Tim Taubert
d2339616cf merge m-c to fx-team 2012-01-19 12:10:03 +01:00
Robert Strong
9e2977f169 RelEng patch - Bug 660038 - Remove channel switching support. r=nthomas 2012-01-18 14:10:25 -08:00
Randell Jesup
460f47911e Bug 712224: Make jprof generate output for 'cleopatra' backend. rs=dbaron DONTBUILD 2012-01-18 00:11:00 -05:00
Jeff Muizelaar
a47ca866d2 Bug 718440. Add more sampler labels to various places. r=bgirard
This shows the problems described in bug 710068.
2012-01-17 15:33:04 -05:00
Jeff Muizelaar
0ede9f8a33 Bug 719273. Avoid including windows header files into sampler.h. r=ehsan
The windows headers do inconvenient things like:
#define CreateEvent CreateEventW

We'd like to avoid this.
2012-01-19 00:43:03 -05:00
Matt Brubeck
b79b1e58d3 Back out 88733ce1bef3 (bug 718440) because of Windows build failure 2012-01-17 15:15:47 -08:00
Jeff Muizelaar
315982723f Bug 718440. Add more sampler labels to various places. r=bgirard
This shows the problems described in bug 710068.
2012-01-17 15:33:04 -05:00
Benoit Girard
fea80077db Bug 719239 - Gecko Profiler: Stackwalk feature isn't reported properly. r=ehsan 2012-01-18 17:50:30 -05:00
Ehsan Akhgari
363f143957 Bug 718681 - Correct the preprocessor condition in mozilla_sampler_get_features; r=BenWa 2012-01-17 11:49:40 -05:00
Ehsan Akhgari
44d37bd2b2 Bug 718026 - Only walk the stack on profiling builds; r=jrmuizel 2012-01-17 11:49:05 -05:00
Ehsan Akhgari
9e5672bb2c Bug 718025 - Add support for stacktraces on Windows to the built-in profiler; r=jrmuizel 2012-01-16 19:59:15 -05:00
Phil Ringnalda
77c78dd19f Back out 2273e0264d4a (bug 718025) for Windows build failure 2012-01-16 18:24:18 -08:00
Ehsan Akhgari
c625f6071d Bug 718025 - Add support for stacktraces on Windows to the built-in profiler; r=jrmuizel 2012-01-16 19:59:15 -05:00
Benoit Girard
fe67fd21f8 Bug 717059 - Fix nsProfiler::GetFeatures() to handle zero length and remove warning. r=jmuizelaar 2012-01-14 10:59:09 -05:00
Jeff Muizelaar
53360cb95c Bug 717698. Add about:jank infrastructure. r=ehsan
Adds a profiling mode that only records samples when we
haven't spun the event loop
2011-12-20 15:13:52 -05:00
Landry Breuil
06a1a6d49a Bug 717769 - Include sps_sampler.h if __linux__, not XP_UNIX. r=bgirard 2012-01-14 15:32:53 -05:00
Benoit Girard
e1d3ab2e58 Bug 717059 - Bustage fix for android. r=bustage 2012-01-12 20:36:55 -05:00
Benoit Girard
e18aae56bf Bug 717059 - Profiler: add 'stackwalk' optional feature for Mac/Linux on profiling builds. r=ehsan 2012-01-10 18:02:00 -05:00
Benoit Girard
9808c149e8 Bug 717769 - Fix Built-in Profiler on Linux r=ehsan 2012-01-12 17:41:58 -05:00
Benoit Girard
a9cd912141 Bug 717059. Add suppport for optional features. r=ehsan
This will let us detect situations where we have different features in the profiler
and choose to use them.
2012-01-12 13:33:32 -05:00
Benoit Girard
d00291eca5 Bug 717059. Use double ms instead of float so that the types match. r=ehsan 2012-01-12 11:50:43 -05:00
Benoit Girard
b7ece3727e Bug 715618 - SharedLibrary operator= doesn't handle self assignment properly. r=matspal 2012-01-05 18:11:29 -05:00
Jeff Muizelaar
6761075807 Bug 711491. Add in conditional backtrace support. r=bgirard
This still needs work to be togglable at runtime and
is at best a work in progress.

--HG--
extra : rebase_source : 59f17aae034799065f5227d68693f4a5c5de3e1a
2011-12-19 20:33:00 -05:00
Jeff Muizelaar
050c43af5f Bug 711491. Remove WriteTag. r=bgirard
Just use .TagToString() and fwrite that instead
of having a separate function.

--HG--
extra : rebase_source : 410d052883778de3db85d4573707b040760376ca
2011-12-16 09:12:46 -05:00
Jeff Muizelaar
111ea9e6d3 Bug 711491. Switch profile export to StringBuilder.
This should help performance some.

--HG--
extra : rebase_source : 53aa5b61e95745475283940dd8cd053c84d2bd74
2011-12-16 09:03:54 -05:00
Jeff Muizelaar
3e2715c052 Bug 711491. Decide whether to get shared library info at runtime r=bgirard
Now that we have implementations of SharedLibraryInfo for
all platforms we don't need to build support for it conditionally.

--HG--
extra : rebase_source : d40cf1b0b28fab3ef31ab4511fc1ddda98a37a38
2011-12-16 11:54:22 -05:00
Jeff Muizelaar
75786a4eea Bug 711491. Rough out SharedLibraryInfo for win32. r=bgirard
--HG--
extra : rebase_source : 17e182c652d3eab2d083b98a9d0f5f04fc344a87
2011-12-16 10:56:06 -05:00
Jeff Muizelaar
6971c66ca3 Bug 711491. Implement SharedLibraryInfo on OS X. r=bgirard
This is based on a patch from bug 698002.

--HG--
extra : rebase_source : ccaf8849e3b8f88bb86e895cf3a22ea289a5e94d
2011-12-15 06:56:52 -05:00
Jeff Muizelaar
cb136669f0 Bug 711491. Refactor MapInfo. r=bgirard
Moves MapInfo out of platform and renames it to SharedLibrary. There will
eventually be an implementation for all major platforms.

--HG--
extra : rebase_source : c7eae4bc0f0e27f2801c4e639d7dc82b47465f0b
2011-12-15 07:31:41 -05:00
Jeff Muizelaar
7643f1ffb2 Bug 711491. Add a proper = operator to MapEntry. r=bgirard
This fixes us a bug where we weren't copying the data
properly.

--HG--
extra : rebase_source : a0331cf5d5b61c355447832119a6f7876922e190
2011-12-15 06:58:00 -05:00
Jeff Muizelaar
f415c3ad2b Bug 711491. Port the linux backend to OS X. r=bgirard
This will let us use the signal based approach used
on linux on OS X. This is helpful because backtrace()
only works on the current thread.

--HG--
extra : rebase_source : 68e39af6025e5ba12f64708c453d6be3bb9f7a70
2011-12-08 17:35:36 -05:00
Ehsan Akhgari
c62bdde145 Bug 713278 - Teach NS_StackWalk to walk the stack of other threads too on Windows; r=dbaron 2011-12-23 18:14:09 -05:00
Jacek Caban
fefcd2a951 Bug 712254 - Use StdInt.h in platform.h r=BenWa
--HG--
extra : rebase_source : 5f5fcf8fff315097638829d95594e347052955ed
2011-12-23 13:21:35 +01:00
Ehsan Akhgari
d2ff02e5f0 Bug 713232 - Fix the hang in the built-in profiler on Windows; r=BenWa 2011-12-24 12:11:26 -05:00
Jeff Walden
2cc32b18f2 Bug 711799 - Fix a few implicit-declaration warnings in trace-malloc. r=dbaron
--HG--
extra : rebase_source : 16fe9eb68d2db1488d89af4001e7d316cb110330
2011-12-17 22:56:55 -05:00
Matt Brubeck
efc97fe9ac Back out bcf9ce858829 and a3bade82ac92 (bug 711799) for build failures 2011-12-19 10:43:08 -08:00
Jeff Walden
0c04766c32 Bug 711799 - Fix a few implicit-declaration warnings in trace-malloc. r=dbaron
--HG--
extra : rebase_source : 67dc7295b8a2022e02f892f7eac74414e61b1c86
2011-12-17 22:56:55 -05:00
Jacek Caban
2c13f6f68a Bug 711381 - v8-support.h fails to compile on mingw r=felipc 2011-12-19 14:05:54 +01:00
Jeff Walden
279c3635c0 Bug 711799 - Fix a bunch of unused-variable warnings. r=dholbert
--HG--
extra : rebase_source : 91fc77dca316018652d4d99f6d4cc8d0f7195e6e
2011-12-18 01:00:42 -05:00
Benoit Girard
b5208d174f Bug 707185 - Programmatic control for eventtracer. r=ted.mielczarek 2011-12-04 20:53:17 -05:00
Jeff Walden
476c7d19c5 Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin 2011-12-08 22:54:10 -05:00
Gavin Sharp
d140f8977f Bug 696436: consolidate Mac bundle name selection, and allow adding a prefix to it at build time, r=dolske, r=ted relanding with a clobber on a CLOSED TREE 2011-10-27 10:27:56 -07:00
Blair McBride
906ef34310 Backout 9e94c7b5290f (bug 696436) due to Mac opt breakage. CLOSED TREE 2011-12-16 16:08:48 +13:00
Gavin Sharp
87c714eafe Bug 696436: consolidate Mac bundle name selection, and allow adding a prefix to it at build time, r=dolske, r=ted
--HG--
extra : rebase_source : 138e3b0259bb144524b1bdb8a6db9d83fe527c71
2011-10-27 10:27:56 -07:00
Justin Lebar
e90ff7287c Bug 705856 - Enable SPS profiler on desktop Linux. r=BenWa
--HG--
extra : rebase_source : 1b47cb9924451b7a581f440a3df9d9a4fdf4c0ec
2011-12-15 15:44:13 -05:00
Ehsan Akhgari
3c6aabb3df Bug 703444. Port SPS profiler to Windows. r=jmuizelaar
Some changes and fixes by Felipe Gomes. r=benwa,ehsan
2011-12-04 14:09:00 -05:00
Jeff Muizelaar
d812d1d6ce Bug 707800. Add more sampler labels. r=bgirard 2011-12-02 17:05:33 -05:00
Jeff Muizelaar
c334ecc137 Bug 708629. Avoid using uninitialized pkey_stack. r=bgirard
This was causing crashes with make check/xpcshell on OS X.
2011-12-08 10:46:02 -05:00
Jeff Muizelaar
1bf2e7bff1 Bug 707800. Rename SAMPLE_CHECKPOINT to SAMPLE_LABEL. r=bgirard
Checkpoint was never a good name.
2011-12-02 17:18:26 -05:00
Chris AtLee
4744beb094 Bug 481815: makefile hooks required for signing executable files, installer packages, and mars. r=ted
--HG--
extra : rebase_source : 7b696910865fdbc9191cb7511f558879a9b9e05d
2011-12-07 17:06:52 -05:00
Benoit Girard
a4037664fc Bug 699918 - Implement profiler module. r=jmuizelaar 2011-12-07 14:48:15 -05:00
Jeff Muizelaar
73e8e0c41b Bug 698002. Add MacOS port of the v8 profiler. r=bgirard
This uses a separate thread that will pause the main thread
and read the registers out of it.

--HG--
extra : rebase_source : c73c866d513c054326af117ddf31ce05eca61335
2011-12-01 10:06:20 -05:00
Jeff Muizelaar
2cf282fc05 Bug 698002. Change active_ to Atomic32. r=bgirard
This brings us closer to V8

--HG--
extra : rebase_source : 788692e354a6cedbb5d54ed95cd8a5458e90bc60
2011-10-31 13:25:04 -04:00
Jeff Muizelaar
554b0dfc16 Bug 698002. Add more v8 support code. r=bgirard
These are needed for the mac port

--HG--
extra : rebase_source : 6f92738210ef2dbcfbaafb4ff2582c0f45b89d98
2011-10-31 12:01:54 -04:00
Rafael Ávila de Espíndola
c171f20afb Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron.
Currently we use dlsym on pthread_cond_wait$UNIX2003 to find a
function that indicates that new_sem_from_pool is on the stack. This
works on 10.5, but on 10.6 I could not find a single reliable
indicator that would work with dlsym.

The good news is that dladdr works with any symbol, not just exported
ones. To find the address of new_sem_from_pool, we set up a malloc logger
and force a call to new_sem_from_pool. From the logger callback we walk
the stack trying dladdr on every address.

To force a call to new_sem_from_pool, the initialization code has to be the
first to use semaphores, so it is now run from NS_LogInit.

This works on 10.6 and 10.5 (but we have to look for
"pthread_cond_wait$UNIX2003"). In 10.7 the call to malloc is gone, so we don't
have to worry about critical addresses on it anymore.

--HG--
extra : rebase_source : bba4ac9e3378c88f7037aa884511e473a57121f6
2011-12-02 19:26:04 -05:00
Chris Lord
3ae56ad4cd Backout bug 696376
This broke building on android due to requiring a newer version of unwind.h.
2011-12-02 18:00:58 +00:00
Rafael Ávila de Espíndola
7a8af51b1f Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron.
Currently we use dlsym on pthread_cond_wait$UNIX2003 to find a
function that indicates that new_sem_from_pool is on the stack. This
works on 10.5, but on 10.6 I could not find a single reliable
indicator that would work with dlsym.

The good news is that dladdr works with any symbol, not just exported
ones. To find the address of new_sem_from_pool, we set up a malloc logger
and force a call to new_sem_from_pool. From the logger callback we walk
the stack trying dladdr on every address.

To for a call to new_sem_from_pool, the initialization code has to be the
first to use semaphores, so it is now run from NS_LogInit.

This works on 10.6 and 10.5 (but we have to look for
"pthread_cond_wait$UNIX2003"). In 10.7 the call to malloc is gone, so we don't
have to worry about critical addresses on it anymore.
2011-12-01 18:22:00 -05:00
Benoit Girard
a76a0e42b5 Bug 698002 - Initialize pthread keys on sps startup. r=jrmuizel
--HG--
extra : rebase_source : 226f0ec8cd0c79ebaa1f00eba643ad0e28f240e5
2011-12-01 17:40:33 -05:00
Justin Lebar
5ed09df753 Back out revs 039231fd497f:5d920a44a901 properly. 2011-12-01 16:37:36 -05:00
Justin Lebar
5905e88333 Back out revs d445f83ecfb1:dc9cc326cad0, because they did not back out what was intended. 2011-12-01 16:35:42 -05:00
Justin Lebar
a9e55b740e Backed out changeset 039231fd497f (bug 705856) 2011-12-01 15:43:18 -05:00
Justin Lebar
94e3fcd673 Backed out changeset 4d56e83adfb0 (bug 698002) 2011-12-01 15:43:14 -05:00
Justin Lebar
553b69d12f Backed out changeset 7204e7e1d4a4 (bug 698002) 2011-12-01 15:43:11 -05:00
Jeff Muizelaar
b48c50de47 Bug 698002. Add MacOS port of the v8 profiler. r=bgirard
This uses a separate thread that will pause the main thread
and read the registers out of it.

--HG--
extra : rebase_source : bb8174320728b6c4976047fd25e6e93280ea444a
2011-12-01 10:06:20 -05:00
Jeff Muizelaar
8a5dd635d8 Bug 698002. Change active_ to Atomic32. r=bgirard
This brings us closer to V8

--HG--
extra : rebase_source : 75685ef885ed1f8abb4ef7a6144d6581a2316941
2011-10-31 13:25:04 -04:00
Jeff Muizelaar
1d3f9e0cb2 Bug 698002. Add more v8 support code. r=bgirard
These are needed for the mac port

--HG--
extra : rebase_source : f035957c8649d0ba5c3794ac6a57be1b215660b7
2011-10-31 12:01:54 -04:00
Justin Lebar
1e60a7b8bf Bug 705856 - Enable SPS profiler on desktop Linux. r=BenWa 2011-12-01 14:45:45 -05:00
Jeff Muizelaar
eb14f705e7 Bug 698002. Fixup architecture define typo. r=bgirard 2011-10-31 12:05:30 -04:00
Jeff Muizelaar
279b0b06ef Bug 698002. Add v8-support.h for using v8 code. r=bgirard
As a first step this adds a dummy implementation of the Malloced class used by
the Linux implementation.
2011-10-28 16:43:02 -04:00
Jeff Muizelaar
76f3ea850f Bug 698002. Move platform.cc to platform-linux.cc. r=benwa
--HG--
extra : rebase_source : bfc230a6e40bcd2550c0e5a083ea6366883105fc
2011-10-28 16:47:25 -04:00
Benoit Girard
4d8c5de611 Bug 700754 - Add Profiler responsiveness hooks. r=ted.mielczarek 2011-11-28 00:31:59 -05:00
Benoit Girard
15c6f9fd82 Bug 699918 - Add a Profiler XPCOM Module. r=jmuizelaar 2011-11-04 17:07:50 -04:00
Randell Jesup
55c8b3ce6a Bug 693586: Add circular buffer support to jprof r=dbaron 2011-11-08 00:34:40 -05:00