52 Commits

Author SHA1 Message Date
Greg Tatum
596f2f4219 Bug 1426124 - Discard JIT frames from native stacks in the profiler; r=jandem,mstange
MozReview-Commit-ID: 9O92eRm5adW

--HG--
extra : rebase_source : ec4e2a5180f191b9c0946143f6e01eaf25028ce7
2018-04-25 10:08:38 -05:00
Jason Orendorff
e7c94fff59 Bug 1439063 - Part 1: Move several public headers from js/src to js/public. r=jandem.
js/src/jsalloc.h -> js/public/AllocPolicy.h
jsalloc.cpp -> js/src/util/AllocPolicy.cpp
jsbytecode.h -> merge into js/public/TypeDecls.h
jsprf.h -> js/public/Printf.h
jsprf.cpp -> js/src/util/Printf.cpp
jsprototypes.h -> public/ProtoKey.h
jswrapper.h -> js/Wrapper.h

--HG--
rename : js/src/jsalloc.h => js/public/AllocPolicy.h
rename : js/src/jsprf.h => js/public/Printf.h
rename : js/src/jsprototypes.h => js/public/ProtoKey.h
rename : js/src/jswrapper.h => js/public/Wrapper.h
rename : js/src/jsalloc.cpp => js/src/util/AllocPolicy.cpp
rename : js/src/jsprf.cpp => js/src/util/Printf.cpp
extra : rebase_source : 98b16d94c469202eab0303a8da844f1d0b6aa809
extra : amend_source : e0b16c1077226d6fe240f4d7096537f93b43f2b8
extra : histedit_source : d94e0ba7904a7d66742c7fac43f638aaec4fa4e5
2018-02-21 10:30:19 -06:00
Jason Orendorff
f5bc70ac9c Bug 1429206 - Part 1: Use js/TypeDecls.h instead of redeclaring certain types. r=jandem.
This adds JS::Zone to TypeDecls.h. Arguably that is pretty borderline, but
even though the Zone type is only used in a dozen or so places in Gecko,
it's a central concept.

--HG--
extra : rebase_source : 2267ad26c8888f3db9213acdb64ce7a56b1c16e5
extra : source : 7f7eb82a83f47c8e1a4b67527c42f88e35f9ff4a
2017-12-18 14:45:06 -06:00
Markus Stange
8fb2503b8a Bug 1434965 - Replace callback-based API ForEachProfiledFrame with an iterator-based API called GetProfiledFrames. r=njn
This also renames ForEachProfiledFrameOp::FrameHandle to ProfiledFrameHandle.

MozReview-Commit-ID: 7Jh1x2QWjXe

--HG--
extra : rebase_source : 8bb0fa15fa20215f03148cfd30ae0e41f82330fd
2018-02-10 20:38:41 -05:00
Markus Stange
49d6d03730 Bug 1348959 - Remove wraparound indexing in ProfileBuffer. r=djvj,mystor,njn
MozReview-Commit-ID: LeBFSRE6GXR

--HG--
extra : rebase_source : c46c0cd0dd543a367f72000e3cae65260a25b365
extra : source : 0f2e9dd7d45551d40944e4219e5a9eb92d54b2c4
2018-02-06 00:25:30 -05:00
Benjamin Bouvier
70df0d4656 Bug 1403873: Rename JitProfilingFrameIterator to JSJitProfilingFrameIterator; r=luke
(and associated methods in ProfilingFrameIterator: jitIter=>jsJitIter, isJit=>isJSJit)

MozReview-Commit-ID: CaYxMlOsg7W

--HG--
extra : rebase_source : 87506558b17ce59dd2943e4579ff639d3ceefcbc
2017-10-03 20:25:21 +02:00
Benjamin Bouvier
8f85f6c936 Bug 1360211: Merge WasmActivation into JitActivation and make wasm->jit calls faster; r=luke, r=jandem
This is a folded patch containing the patches in the bug named as:

- Handle the "untrusted FP" in wasm->jit exit;
- Handle failures in wasm->jit fast path;
- Profiling frame iteration;

MozReview-Commit-ID: 2hs8yyKGQ9v

--HG--
extra : rebase_source : e71f6bb5558a4c78c7ae4ce0b6b8cfa11d0b10f7
2017-09-27 21:16:29 +02:00
Benjamin Bouvier
71b086f56b Bug 1364520: Remove the jitTop optimization; r=jandem
MozReview-Commit-ID: 1ifOuh90QEK

--HG--
extra : rebase_source : 4609aefd9e92c9f438bb9e955ea6dadc2750fc19
2017-06-02 19:34:05 +02:00
Luke Wagner
2164377bd8 Bug 1334504 - Baldr: maintain fp register instead a virtual fp (r=bbouvier)
MozReview-Commit-ID: 2Mi60u3DyJg

--HG--
extra : rebase_source : 155ce830bcd55e7f9fdf890d4da4b1c12377f12b
2017-03-22 17:26:05 -05:00
Boris Zbarsky
746467862d Bug 1346389. Make --enable-shared-js link again, at least for an opt mac build with intl api disabled. r=sfink, a=waldo on the gcc-specific bits. 2017-03-10 23:52:55 -05:00
Boris Zbarsky
d6b2fc9b4d Backed out changeset c1978f7d49c4 for build failures.
MozReview-Commit-ID: FOwcGtykkXR
2017-03-11 00:10:36 -05:00
Boris Zbarsky
160b2e80e9 Bug 1346389. Make --enable-shared-js link again, at least for an opt mac build with intl api disabled. r=sfink
MozReview-Commit-ID: 264vsCvhh9Z
2017-03-10 23:52:55 -05:00
Jeff Walden
42076c2649 Bug 1338374 - Use alignas rather than AlignedStorage for public JS::ProfilingFrameIterator's internal storage of a private wasm or JIT profiling frame iterator. r=shu
--HG--
extra : rebase_source : e8dac94d34a0985c1abca87b6e017387b761a801
2017-01-30 15:56:05 -08:00
Brian Hackett
3601646de2 Bug 1334927 - Handle multiple contexts per runtime in the Gecko profiler, r=shu.
--HG--
extra : rebase_source : 8673bc042c7d04b5595583c229a13a1e18b7f73e
2017-02-08 11:18:41 -07:00
Jon Coppeard
18edf08fb3 Bug 1322312 - Assert that GCRuntime::enter/leaveUnsafe region is only used on the main thread r=sfink 2016-12-06 17:23:48 -10:00
Jon Coppeard
6802f12fbc Bug 1316150 - Make profiler frame labels a GC hazard and make shell profiling function copy them r=djvj 2016-11-21 10:26:33 +00:00
Jon Coppeard
5cd9e63353 Backout changeset 093a7b8b7285 (bug 1297360) for causing bug 1316150 2016-11-21 10:26:31 +00: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
Jon Coppeard
c50fa1fd48 Bug 1301377 - Disallow GC while using ProfilingFrameIterator r=jandem 2016-10-14 17:13:47 +01:00
Jon Coppeard
c5e590d3e6 Bug 1297360 - Copy strings returned by ProfilingFrameIterator API r=djvj 2016-09-08 13:38:37 +01: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
Luke Wagner
3c88b36742 Bug 1229642 - Split wasm::Module out of AsmJSModule (r=bbouvier)
--HG--
rename : js/src/asmjs/AsmJSFrameIterator.cpp => js/src/asmjs/WasmFrameIterator.cpp
rename : js/src/asmjs/AsmJSFrameIterator.h => js/src/asmjs/WasmFrameIterator.h
rename : js/src/asmjs/AsmJSSignalHandlers.cpp => js/src/asmjs/WasmSignalHandlers.cpp
rename : js/src/asmjs/AsmJSSignalHandlers.h => js/src/asmjs/WasmSignalHandlers.h
rename : js/src/asmjs/Wasm.h => js/src/asmjs/WasmTypes.h
extra : commitid : 4LBqZ9p8yXp
extra : rebase_source : b0b165b4be2a5ac4bca20d75d9561005e8f57020
2015-12-28 17:39:21 -06:00
Luke Wagner
3e2e979a8b Bug 1229642 - Odin: hoist some things into Wasm.h and simplify symbolic addresses (r=bbouvier)
--HG--
extra : rebase_source : 072480e2713f184b9dbac1e33d4ffb60af1c720c
2015-12-02 21:40:09 -06:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Benoit Girard
59ad1c9d28 Bug 1172186 - Make the profiler build standalone. r=mstange
--HG--
extra : commitid : BTYjbUK8Kkf
extra : rebase_source : 48b78ab373d4019fb42cc39cdc66586da33eb069
2015-06-18 01:05:42 -04:00
Shu-yu Guo
3390ef56f7 Bug 1154115 - Rewrite profiler JSON streaming. (r=mstange) 2015-05-11 14:16:44 -07:00
Shu-yu Guo
d91c9a82a2 Bug 1154115 - Rewrite the JSAPI profiling API to use a FrameHandle, as to avoid multiple lookups in JitcodeGlobalTable. (r=djvj) 2015-05-11 14:16:44 -07:00
Andrea Marchesini
a4369a04c4 Bug 1156632 - Remove unused forward class declarations - patch 7 - JS, r=sfink 2015-04-22 08:29:26 +02:00
Shu-yu Guo
bc9fd9bf3d Bug 1137569 - Delay stringification of JIT frames until streaming time. (r=djvj) 2015-04-02 14:50:08 -07:00
Jan de Mooij
b8b1677f0f Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
c8a25251c1 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
8d6d44ecb8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Shu-yu Guo
d935dadedc Bug 1146718 - Split the 'J' tag in the profiler into 'J' (JIT frames without opt info) and 'O' (with opt info). (r=djvj) 2015-03-24 18:49:16 -07:00
Shu-yu Guo
7fa429d624 Bug 1143860 - Deduplicate tracked optimizations when streaming the profile. (r=djvj) 2015-03-20 20:48:31 -07:00
Kannan Vijayan
8299080b57 Bug 1143802 - Forward jit level information to profiler frontend. r=shu 2015-03-20 13:50:23 -04:00
Kannan Vijayan
834ee9ffd2 Bug 1130367 - Ensure profiler stack sampling is disabled when spsProfiler is disabled. r=shu 2015-03-02 17:46:13 -05:00
Kannan Vijayan
ec632c2fe5 Bug 1129510 - Trace references to JS heap from Profiler buffers. r=shu 2015-02-25 16:43:39 -05:00
Ryan VanderMeulen
2351be3127 Backed out changesets 3de23a29bf71 and d42c64b791e6 (bug 1129510) for debug SM(e) timeouts. 2015-02-25 13:44:19 -05:00
Kannan Vijayan
d784692baf Bug 1129510 - Trace references to JS heap from Profiler buffers. r=shu 2015-02-25 11:26:28 -05:00
Ryan VanderMeulen
a93d947fe1 Backed out changesets fbfda0143584 and e8cfd49ac790 (bug 1129510) for crashes.
CLOSED TREE
2015-02-20 20:01:08 -05:00
Kannan Vijayan
a94b9501bb Bug 1129510 - Trace references to JS heap from Profiler buffers. r=shu 2015-02-20 17:50:02 -05:00
Shu-yu Guo
aaeea34735 Bug 1129781 - Re-lookup JIT code return addr when stringifying optimization info instead of caching the index. (r=djvj)
This saves us some circular buffer space.
2015-02-09 18:11:19 -08:00
Shu-yu Guo
e0aee2d0b6 Bug 1127156 - Rework optimization tracking JSAPI to be more usable from the profiler. (r=djvj) 2015-02-04 13:40:02 -08:00
Kannan Vijayan
aef7e0502e Bug 1057082 - 6/7 - Modify profiler sampler to use jit stack walking instead of pseudostack. r=jandem r=BenWa 2015-01-15 20:11:22 -05:00
Wes Kocher
235c27f622 Backed out 8 changesets (bug 1057082) for ASAN failures on a CLOSED TREE
Backed out changeset 0c1fabbfc583 (bug 1057082)
Backed out changeset 99213cacd671 (bug 1057082)
Backed out changeset 76d528767946 (bug 1057082)
Backed out changeset b1ad3dabec8f (bug 1057082)
Backed out changeset f927b9899077 (bug 1057082)
Backed out changeset 635e101ed2be (bug 1057082)
Backed out changeset a7d9f158838d (bug 1057082)
Backed out changeset b1cb68eadf6c (bug 1057082)
2015-01-14 15:26:50 -08:00
Kannan Vijayan
f4638168e9 Bug 1057082 - 6/7 - Modify profiler sampler to use jit stack walking instead of pseudostack. r=jandem r=BenWa 2015-01-14 16:19:14 -05:00
Nicolas B. Pierron
206d7d6d49 Bug 1074911 - Replace JS_ASSERT by MOZ_ASSERT. r=jorendorff
Apply the following script

sed -i '
   /JS_ASSERT(/ {
     s/JS_ASSERT(/MOZ_ASSERT(/;
     :b;
     s/ \\$/\\/;
     /;/ { p; d; };
     n;
     s/^/ /;
     b b;
  };
  s/JS_ASSERT (/MOZ_ASSERT(/;
'

Except where the JS_ASSERT macro does not end with a semi-colon, where empty
lines are in the middle of the macro, and where the backslahes are always the
same-length after the expression.
2014-10-01 19:17:51 +02:00
Kannan Vijayan
7141c60325 Bug 1057082 - Part 1 - Add profilingActivation linked list and refactor ProfilingFrameIterator. r=luke 2014-08-26 14:03:04 -04:00
Luke Wagner
178eac00ed Bug 1040390 - Replace ad hoc methods with JS::ProfilingFrameIterator::label() (r=dougc)
--HG--
extra : rebase_source : 396c7925edac39e39d16dea7a53da3ba34f68ddf
2014-07-29 09:56:21 -05:00
Luke Wagner
2bc805386c Bug 1040390 - Add JS::ProfilingFrameIterator::stackAddress (r=dougc)
--HG--
extra : rebase_source : a5f1823e8e9fb96aeb2813ce5105dc9096a054d7
2014-07-29 09:56:21 -05:00