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

RESOLVED FIXED in mozilla35

Status

()

Core
JavaScript Engine
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: bhackett, Assigned: bhackett)

Tracking

unspecified
mozilla35
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

3 years ago
Created attachment 8496438 [details] [diff] [review]
patch

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+
(Assignee)

Comment 2

3 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/91914270690b
https://hg.mozilla.org/mozilla-central/rev/91914270690b
Assignee: nobody → bhackett1024
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35

Comment 4

3 years ago
This patch made misc-typedobj-utf8array-typedobj on AWFY go from 41ms to 17700ms. Expected?
That doesn't sound ideal.
Flags: needinfo?(bhackett1024)
(Assignee)

Comment 6

3 years ago
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)
(Assignee)

Updated

3 years ago
Depends on: 1085029
You need to log in before you can comment on or make changes to this bug.