Closed Bug 1876635 Opened 2 years ago Closed 1 year ago

Don't transpile stubs with popped fuses.

Categories

(Core :: JavaScript Engine: JIT, task, P3)

task

Tracking

()

RESOLVED FIXED
143 Branch
Tracking Status
firefox143 --- fixed

People

(Reporter: mgaudet, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

In principle, we could have a monomorphic stub with a guard fuse where the fuse pops before we transpile it; might be nice to detect this and skip transpilation of these stubs.

This is reasonably unlikely, but perhaps still worth it?

There are a few places where we manually scan CacheIR ops and read their arguments.
In this case the reader calls have to match the arguments in the YAML file and this
can be error-prone.

The next patch will add another place where we do this so this patch adds code generation
to make this more ergonomic.

For PBL this patch converts a few interesting ops but doesn't convert all of them yet.

Assignee: nobody → jdemooij
Status: NEW → ASSIGNED

Move the dependency tracking from the transpiler to WarpOracle and use a bailout
instead of transpiling the stub if we have a popped fuse. This avoids finishing
an Ion compilation and then immediately throwing away the result when we check
the fuse dependencies at the end.

This likely doesn't matter a lot for the current fuses, but becomes more important with
object property fuses.

Blocks: 1972572
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch
QA Whiteboard: [qa-triage-done-c144/b143]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: