Use an IC for JSOp::BuiltinObject
Categories
(Core :: JavaScript Engine: JIT, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox134 | --- | fixed |
People
(Reporter: iain, Assigned: iain, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(3 files, 1 obsolete file)
We currently handle BuiltinObject in the baseline interpreter by generating a VM call to BuiltinObjectOperation
, and in the baseline compiler by calling BuiltinObjectOperation
during compilation to get the object, and then baking it in directly.
The interpreter implementation is slow. The compiler implementation doesn't play nicely with Bryan's work to share selfhosted baseline code, and also doesn't play nicely with my work to do offthread baseline compiles.
We can solve all these problems at once by using a baseline IC, much like we already do for GetIntrinsic
.
Assignee | ||
Comment 1•1 years ago
|
||
Updated•1 year ago
|
Updated•4 days ago
|
Assignee | ||
Comment 2•4 days ago
|
||
A GetIntrinsic IC will always produce the same result, so it looks up the result in the fallback stub and then attaches a trivial stub that returns the correct value. We can reuse the same idea for JSOp::BuiltinObject
and JSOp::ImportMeta
. This makes blinterp more efficient (because we only have to do the VM call to look up the result once), and works better for offthread baseline compilation (where we can't do the VM call inside the compiler and bake in the result).
In preparation, this patch renames the ICKind. The next two patches will update the ops.
Assignee | ||
Comment 3•4 days ago
|
||
Assignee | ||
Comment 4•4 days ago
|
||
Comment 6•2 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/007ce442c413
https://hg.mozilla.org/mozilla-central/rev/9eeaab44d7d2
https://hg.mozilla.org/mozilla-central/rev/8cde9d09e842
Comment 7•12 hours ago
|
||
Comment 8•8 hours ago
|
||
Could be the compilerWarmUpThreshold
refactoring, although I don't see any issues with it looking at the patch again.
Some of these numbers are stable enough that we should be able to narrow it down with a few try pushes.
Comment 9•3 hours ago
|
||
(there may be some improvements on other sub-tests including SP3 too . Not validated yet by perf-sheriffs yet, so consider my comment as a unverified rumour)
Description
•