Closed Bug 1665348 Opened 4 years ago Closed 4 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.

Attachment

General

Created:
Updated:
Size: