Closed Bug 2065981 Opened 2 months ago Closed 2 months ago

Inline simple Temporal getters (Duration, PackedTime, epochNanoseconds)

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
158 Branch
Tracking Status
firefox158 --- fixed

People

(Reporter: n8pjl, Assigned: n8pjl)

References

(Blocks 1 open bug)

Details

Attachments

(3 external files)

Prematurely optimize the simplest of Temporal getters.

These getters all are likely to be widely used soon and all consist of 1-2 fixed-slot loads with a little arithmetic. I found a 5x (Ion, 1.8x in baseline) performance improvement in microbenchmarks by eliminating native call overhead, putting performance on par with plain property access.

Don't worry, I won't be specializing more complex Temporal functions until they start showing up in real profiles.

Assignee: nobody → peter
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Emit unpacking code inline where no further computation is required.

Blocks: temporal
Severity: -- → N/A
Priority: -- → P3
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 158 Branch
QA Whiteboard: [qa-triage-done-c159/b158]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: