Closed Bug 1191117 Opened 5 years ago Closed 5 years ago

Remove RootedGeneric in favor of Rooted<StackShape>

Categories

(Core :: JavaScript: GC, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox42 --- affected
firefox43 --- fixed

People

(Reporter: terrence, Assigned: terrence)

Details

Attachments

(1 file)

There was only the one user of this mechanism. Replacing it required threading the rooting up the top level. I thought we had avoided doing this already because of performance concerns, but all of the places we need a new root are already creating a ton of roots. In any case, I didn't seen any effect on octane, so let's just go with it.
Attachment #8643349 - Flags: review?(jcoppeard)
Comment on attachment 8643349 [details] [diff] [review]
remove_RootedGeneric-v0.diff

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

Looks good.  I was also told this was very performance sensitive though.  We'll see what happens when it hits AWFY I guess.

::: js/src/vm/Shape.h
@@ +1191,5 @@
> +    bool hasMissingSlot() const { return ss()->hasMissingSlot(); }
> +    uint32_t slot() const { return ss()->slot(); }
> +    uint32_t maybeSlot() const { return ss()->maybeSlot(); }
> +    uint32_t slotSpan() const { return ss()->slotSpan(); }
> +    bool isAccessorShape() const { return ss()->isAccessorShape(); }

Let's add getters here for the public members so we don't have to call shape.get().attrs for example.
Attachment #8643349 - Flags: review?(jcoppeard) → review+
https://hg.mozilla.org/mozilla-central/rev/3a580b48d1ad
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.