Add an option to generate an entry trampoline for each script executing in the vm and baseline Interpreter
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox113 | --- | fixed |
People
(Reporter: denispal, Assigned: denispal)
References
(Blocks 1 open bug)
Details
(Whiteboard: [sp3])
Attachments
(6 files, 2 obsolete files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Generating an entry trampoline for each script whenever we enter the Interpreter or Baseline Interpreter will help distinguish what JS functions are being executed when profiling with perf.
Right now, all Interpreter & Baseline Interpreter executions are labelled under "Interpret" or "Baseline Interpreter", but if we can generate some entry stubs then we can see what functions are being executed on the call stack and it would be much easier to analyze Interpreter performance using perf.
v8 has a similar option --interpreted-frames-native-stack
which does this (see https://v8.dev/docs/linux-perf#v8-linux-perf-flags)
Assignee | ||
Updated•3 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Depends on D171870
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
Assignee | ||
Comment 4•2 years ago
|
||
Depends on D172630
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D172631
Assignee | ||
Comment 6•2 years ago
|
||
Depends on D172632
Assignee | ||
Comment 7•2 years ago
|
||
Depends on D172633
Assignee | ||
Comment 8•2 years ago
|
||
Depends on D172634
Comment 10•2 years ago
•
|
||
Backed out for causing spidermonkey bustages in GC.cpp
- Backout link
- Push with failures
- Failure Log
- Failure line: /builds/worker/checkouts/gecko/js/src/gc/GC.cpp:4923:46: error: member access into incomplete type 'js::jit::JitRuntime'
hybrid bustages: https://treeherder.mozilla.org/logviewer?job_id=411510701&repo=autoland
Comment 11•2 years ago
|
||
Comment 12•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0af592aed892
https://hg.mozilla.org/mozilla-central/rev/85831bb256a9
https://hg.mozilla.org/mozilla-central/rev/27dd48c17e15
https://hg.mozilla.org/mozilla-central/rev/5736319db66d
https://hg.mozilla.org/mozilla-central/rev/76fe7cc09a39
https://hg.mozilla.org/mozilla-central/rev/52306e2645c1
Assignee | ||
Updated•2 years ago
|
Description
•