Closed Bug 1073836 Opened 5 years ago Closed 5 years ago

Remove byte offset slot and non-unsized uses of length from typed objects

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
Outline typed objects have four reserved slots --- for the byte offset, length, owner and data pointer.  The byte offset is not necessary, as it can be determined from the owner and data pointer, and the length is relevant only for unsized arrays (which will be uncommon compared to other typed objects).  The attached patch removes the byte offset slot and restricts usage of the length slot to unsized arrays.  Eventually we will be able to avoid allocating the length slot for non-unsized typed objects.
Attachment #8496438 - Flags: review?(nmatsakis)
Comment on attachment 8496438 [details] [diff] [review]
patch

Review of attachment 8496438 [details] [diff] [review]:
-----------------------------------------------------------------

Sorry for the delay. I've been traveling. This all looks good to me.
Attachment #8496438 - Flags: review?(nmatsakis) → review+
https://hg.mozilla.org/mozilla-central/rev/91914270690b
Assignee: nobody → bhackett1024
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
This patch made misc-typedobj-utf8array-typedobj on AWFY go from 41ms to 17700ms. Expected?
That doesn't sound ideal.
Flags: needinfo?(bhackett1024)
This bug is part of the house cleaning needed to get typed object memory usage where it needs to be (bug 1058340).  Once that is done --- which it will be, after bug 1073842 lands and I finish a patch I'm working on to inline transparent typed objects --- I'll start on fixing runtime perf, and will get this test back to where it was before.  But given that nothing depends on typed object perf atm, I don't think there's value in trying to preserve performance on these microbenchmarks when other related things are in flight.
Flags: needinfo?(bhackett1024)
Depends on: 1085029
You need to log in before you can comment on or make changes to this bug.