Closed Bug 1658270 Opened 4 years ago Closed 4 years ago

Optimise testing functions in Cache and Warp

Categories

(Core :: JavaScript Engine: JIT, task)

task

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: anba, Assigned: anba)

References

Details

Attachments

(3 files)

No description provided.

This is currently a NOP until bug 1655773 has been implemented.

Depends on D86526

WarpCacheIRTranspiler::emitAssertRecoveredOnBailoutResult() was copied from the
MCallOptimize implementation. A new addEffectfulUnsafe() helper was added to
avoid triggering the safety assertions in addEffectful(). The MResumePoint
also needs to be created manually to avoid triggering assertions in the
WarpCacheIRTranspiler::resumeAfter() helper. Bypassing the safety assertions
should be okay in this case, because assertRecoveredOnBailout() is a fuzzy
unsafe testing function, so we can directly control how it is called.

JIT tests which don't (yet) pass in Warp have been disabled and annotated
with "TODO(Warp)".

Drive-by change:

  • Use add() in WarpCacheIRTranspiler::addDataViewData().

Depends on D86527

Pushed by abutkovits@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/39731b445885
Part 1: Optimise "bailout" testing function in CacheIR and Warp. r=jandem
https://hg.mozilla.org/integration/autoland/rev/508fbac0215e
Part 2: Optimise "assertFloat32" testing function in CacheIR and Warp. r=jandem
https://hg.mozilla.org/integration/autoland/rev/bbdd9a249156
Part 3: Optimise "assertRecoveredOnBailout" testing function in CacheIR and Warp. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: