Closed Bug 1790989 Opened 3 years ago Closed 3 years ago

Replace ReturnReg moves with storeCallPointerResult

Categories

(Core :: JavaScript Engine: JIT, task)

task

Tracking

()

RESOLVED FIXED
107 Branch
Tracking Status
firefox106 --- wontfix
firefox107 --- fixed

People

(Reporter: anba, Assigned: anba)

Details

Attachments

(6 files)

Replace masm.mov(ReturnReg, dest) moves with masm.storeCallPointerResult(dest), etc.

Replaces all mov(ReturnReg, dest) calls with storeCallPointerResult(dest).
This can save an unnecessary move in some cases.

Instead of manually calling convertBoolToInt32, use storeCallBoolResult.

Depends on D157458

We can directly tag ReturnReg after a VM-call.

Depends on D157459

We don't have to use storeCallBoolResult when the result is only used for
branchIf{True,False}Bool. This avoids some extra and bit-masking.

Depends on D157460

Replacing the branchTest32 with branchIfTrueBool allows to use
storeCallPointerResult here, too.

Depends on D157461

Pushed by andre.bargull@gmail.com: https://hg.mozilla.org/integration/autoland/rev/341f4c59c909 Part 1: Use storeCallPointerResult to move ReturnReg. r=jandem https://hg.mozilla.org/integration/autoland/rev/267dbf24c219 Part 2: Use storeCallBoolResult to convert ReturnReg to bool. r=jandem https://hg.mozilla.org/integration/autoland/rev/3edb6aed1518 Part 3: Remove unnecessary storeCallPointerResult. r=jandem https://hg.mozilla.org/integration/autoland/rev/a773b014aa29 Part 4: Use storeCallPointerResult when followed by branchIf{True,False}Bool. r=jandem https://hg.mozilla.org/integration/autoland/rev/d1cb52b26737 Part 5: Use storeCallPointerResult when the result can be used with branchIfTrueBool. r=jandem https://hg.mozilla.org/integration/autoland/rev/32b6eb832636 Part 6: Change callWithABI documentation to prefer storeCall{Pointer,Bool,Int32,Float}Result. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: