Stop storing native code offset for each bytecode pc in BaselineScript
Categories
(Core :: JavaScript Engine: JIT, task, P2)
Tracking
()
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
BaselineScript::nativeCodeForPC has the following consumers:
- Ion bailouts
- DebugModeOSR
- Exception handling
- OSR
- Profiler (also BaselineScript::approximatePcForNativeAddress)
I'm hoping we can change 1-3 to resume in the interpreter instead, once it's enabled by default (we would switch to Baseline JIT code at the next loop edge or call).
For 4 we only care about JSOP_LOOPENTRY ops. When the profiler is enabled we could choose to record more offsets but we wouldn't have to do this for every op - it would be more of a heuristic.
This should speed up BaselineCompiler a bit, use less memory, and simplify the code a bit (no need to handle and worry about unsynced stack values for example).
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Depends on D40944
Assignee | ||
Comment 3•6 years ago
|
||
Depends on D40945
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D40946
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 5•6 years ago
|
||
Because DebugTrapEntries are only present if the script has debugger instrumentation
it should be fine to store this as a simple list of entries.
Depends on D40947
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D40948
![]() |
||
Comment 8•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/235c854c3233
https://hg.mozilla.org/mozilla-central/rev/77497544ca03
https://hg.mozilla.org/mozilla-central/rev/941b29575f6a
https://hg.mozilla.org/mozilla-central/rev/703a39b468df
https://hg.mozilla.org/mozilla-central/rev/e481b4ed7784
https://hg.mozilla.org/mozilla-central/rev/937e9c6da43c
Updated•6 years ago
|
Description
•