Closed
Bug 836347
Opened 12 years ago
Closed 12 years ago
BaselineCompiler: Make Call_Scripted IC stub not enter ionCode with bailoutExpected set on it.
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: djvj, Unassigned)
References
Details
Attachments
(1 file)
(deleted),
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
Discovered while attempting to bench Ion+Baseline combined performance. Some ion scripts are repeatedly bailing out, and baseline is repeatedly re-entering it, because the Call_Scripted stub does not check the bailoutExpected flag of the IonScript it's about to enter.
This causes significant slowdowns and makes comparison of Ion+Baseline and Ion+JM infeasible.
Comment 1•12 years ago
|
||
It would be really nice to have a "void *jitcode" pointer in JSScript that either points to ion->method()->raw() or baseline->method()->raw(). Then when we set bailoutExpected we can just switch that pointer to the baseline script, and we can avoid some loads and branches when doing calls.
Reporter | ||
Comment 2•12 years ago
|
||
We can do this when we change Ion's visitCallGeneric and friends to check for baseline jitcode.
Reporter | ||
Comment 3•12 years ago
|
||
This makes bailoutExpected_ into an int32 for easier checks via masm.branch32(...).
Attachment #708379 -
Flags: review?(jdemooij)
Updated•12 years ago
|
Attachment #708379 -
Flags: review?(jdemooij) → review+
Reporter | ||
Comment 4•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•