Closed Bug 1653246 Opened 4 years ago Closed 4 years ago

Optimize DataView get/set methods in CacheIR and Warp

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

anba added Ion optimizations for this in bug 1065894. I started looking into porting the get* methods to CacheIR and it seems doable.

Severity: normal → N/A
Type: task → enhancement
Priority: -- → P1

Some refactoring to move the bounds check out of getDataPointer into the
callers (read and write). This seems a bit more natural and this way
getDataPointer is infallible (can assert offset is in bounds), doesn't need
the cx argument, and can be non-static.

This also factors out an infallible DataViewObject::read method, it will be used
in the next patch.

Depends on D83905

Depends on D83906

Keywords: leave-open

Pretty similar to the last patch. The register situation on 32-bit x86 complicates
this a bit unfortunately.

Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c41eb4ac1688 part 1 - Add offsetIsInBounds and infallible read methods to DataViewObject. r=anba https://hg.mozilla.org/integration/autoland/rev/f38994f1ae8c part 2 - Add a helper method for Uint32 to Int32Value/DoubleValue. r=anba https://hg.mozilla.org/integration/autoland/rev/750770bf3191 part 3 - Add GuardClassKind::DataView. r=anba https://hg.mozilla.org/integration/autoland/rev/4410c368a84a part 4 - Optimize DataView get* methods in CacheIR. r=anba
Depends on: 1647602
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/79a8c6e09dbf part 5 - Optimize DataView set* methods in CacheIR. r=anba
Keywords: leave-open
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/11c2cba699e4 part 6 - Transpile DataView instructions. r=anba
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: