Warp: set implicitly-used flag correctly for unused IC inputs
Categories
(Core :: JavaScript Engine: JIT, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
We were aware of this issue but now with Math.ceil
inlining it's causing a test failure on the ceil.js jit-test, so it's time to implement this. We also need to port the debug asserts IonBuilder has to catch this.
Assignee | ||
Comment 1•5 years ago
|
||
It's tempting to call this forEachArg instead, but it's not just iterating over
the args Vector...
Assignee | ||
Comment 2•5 years ago
|
||
This also ports the PoppedValueUseChecker from IonBuilder. I had to rename it to
WarpPoppedValueUseChecker to respect the C++ One-Definition Rule. It's a bit
simpler than the IonBuilder version and uses BytecodeLocation.
The transpiler now sets the ImplicitlyUsed flag for unused input operands. The
code for that is pretty subtle, but this is the most efficient (and Just Works)
way to do it that I could think of.
Depends on D76482
Comment 4•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9cc94ab6a8bd
https://hg.mozilla.org/mozilla-central/rev/692e3068ef10
Description
•