Closed Bug 1674719 Opened 5 years ago Closed 5 years ago

Warp: Transpile remaining sparse elements CacheIR instructions

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox84 --- wontfix
firefox85 --- fixed

People

(Reporter: anba, Assigned: anba)

References

Details

Attachments

(11 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
No description provided.

Add MacroAssembler::branchIfObjectNotExtensible() in preparation for the next
part. Also allows to remove the CacheIRCompiler friend declaration in
JSObject.

Increases SNAPSHOT_BAILOUTKIND_BITS because we're now using more than 64
bailout kinds.

Depends on D95492

Reuses the existing MInArray instruction by adding a flag whether or not
negative indices can be handled. After removing IonBuilder we can remove
that flag again.

Depends on D95497

Severity: -- → N/A
Priority: -- → P2
Pushed by csabou@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2ae381c4c2d6 Part 1: Add MacroAssembler::branchIfObjectNotExtensible. r=jandem https://hg.mozilla.org/integration/autoland/rev/0e44eee572d3 Part 2: Transpile GuardIsExtensible. r=jandem https://hg.mozilla.org/integration/autoland/rev/401684e17cc6 Part 3: Transpile GuardIsNonNegative. r=jandem https://hg.mozilla.org/integration/autoland/rev/30c2b763b2fc Part 4: Transpile GuardIndexGreaterThanDenseInitLength. r=jandem https://hg.mozilla.org/integration/autoland/rev/c8404b49ea65 Part 5: Transpile GuardIndexIsValidUpdateOrAdd. r=jandem https://hg.mozilla.org/integration/autoland/rev/581212aec52e Part 6: Transpile CallAddOrUpdateSparseElementHelper. r=jandem https://hg.mozilla.org/integration/autoland/rev/7979b0c27840 Part 7: Transpile CallGetSparseElementResult. r=jandem https://hg.mozilla.org/integration/autoland/rev/ca4ab7f266fe Part 8: Transpile CallNativeGetElementResult. r=jandem https://hg.mozilla.org/integration/autoland/rev/a18c54374673 Part 9: Transpile GuardIsNativeObject. r=jandem https://hg.mozilla.org/integration/autoland/rev/f48ed899f748 Part 10: Transpile LoadDenseElementHoleExistsResult. r=jandem https://hg.mozilla.org/integration/autoland/rev/7e6089e75b47 Part 11: Transpile CallObjectHasSparseElementResult. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: