Closed Bug 1665348 Opened 3 years ago Closed 3 years ago

Warp: Transpile LoadArgumentsObjectArgResult, LoadArgumentsObjectLengthResult, and LoadFunctionLengthResult

Categories

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

task

Tracking

()

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(8 files)

No description provided.

Don't attach LoadArgumentsObjectArgResult when it will fail anyway. The checks mirror
the dynamic checks from CacheIRCompiler.

Add MacroAssembler::loadArgumentsObjectElement in preparation for the next
part.

Uses the same alias set as MGetArgumentsObjectArg. A more narrow alias set
may be possible, but we need to be sure not to run into any issues with mapped
arguments.

Depends on D90403

Add in preparation for the next part.

Depends on D90404

This avoids calling LookupPropertyPure unless the property name is actually "length".

Depends on D90406

No self-hosted code reads BOUND_FUN_LENGTH_SLOT, so we might as well move it
to the other constants in FunctionExtended.

Drive-by fix:

  • Use fallibleUnboxInt32 in MacroAssembler::loadFunctionLength().

Depends on D90407

Also change CacheIR to not attach the stub if it will fail.

Depends on D90408

Severity: -- → N/A
Priority: -- → P2
Pushed by cbrindusan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/58aa6d7e066e
Part 1: Don't attach LoadArgumentsObjectArgResult when it will fail. r=jandem
https://hg.mozilla.org/integration/autoland/rev/7f927ef4d046
Part 2: Add MacroAssembler::loadArgumentsObjectElement. r=jandem
https://hg.mozilla.org/integration/autoland/rev/d418a39177ad
Part 3: Transpile LoadArgumentsObjectArgResult. r=jandem
https://hg.mozilla.org/integration/autoland/rev/b04893b59aba
Part 4: Add MacroAssembler::loadArgumentsObjectLength. r=jandem
https://hg.mozilla.org/integration/autoland/rev/2fd7fe53abd9
Part 5: Transpile LoadArgumentsObjectLengthResult. r=jandem
https://hg.mozilla.org/integration/autoland/rev/37353059ea5a
Part 6: Check property name before the lookup when trying to attach FunctionLength. r=jandem
https://hg.mozilla.org/integration/autoland/rev/237faf2a86b3
Part 7: Move bound-function length slot constant into FunctionExtended. r=jandem
https://hg.mozilla.org/integration/autoland/rev/ad05bb3bcd45
Part 8: Transpile LoadFunctionLengthResult. r=jandem
You need to log in before you can comment on or make changes to this bug.