Optimize some more intrinsics in CacheIR and Warp
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
Attachments
(4 files, 1 obsolete file)
Assignee | ||
Comment 1•4 years ago
|
||
This is a pretty big performance improvement for bound functions in Baseline.
The transpiler part was non-trivial becuase the transpiler has to know whether
we're inlining and constructing. Instead of adding yet another argument to
TranspileCacheIRToMIR, this passes the WarpBuilder so we can use its inlineCallInfo.
Assignee | ||
Comment 2•4 years ago
|
||
I also added GuardIsNotProxy/MGuardIsNotProxy because it seemed like a useful
primitive to have.
Depends on D84517
Assignee | ||
Comment 3•4 years ago
|
||
Also changes the signatures of the 'next' methods so we can call them with callWithABI.
Depends on D84670
Assignee | ||
Comment 4•4 years ago
|
||
The IC code just does a callVM for now. This required adding AutoCallVM::callNoResult
to avoid confusing storeCallResult.
Depends on D84671
Assignee | ||
Comment 5•4 years ago
|
||
Also changes the signatures of the 'next' methods so we can call them with callWithABI.
Depends on D84670
Updated•4 years ago
|
Comment 7•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/1152d7b452a9
https://hg.mozilla.org/mozilla-central/rev/fb2ba023ba98
https://hg.mozilla.org/mozilla-central/rev/502c18eb1a04
https://hg.mozilla.org/mozilla-central/rev/664d5871886b
Description
•