If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

GC: allocate singleton frontend objects from tenured

RESOLVED FIXED in mozilla22

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: terrence, Unassigned)

Tracking

Trunk
mozilla22
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
Created attachment 718710 [details] [diff] [review]
v0

In particular this immediately tenures the self-hosting global, with its hundreds of slots.
Attachment #718710 - Flags: review?(bhackett1024)
Comment on attachment 718710 [details] [diff] [review]
v0

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

::: js/src/frontend/BytecodeEmitter.cpp
@@ +3483,5 @@
>  static bool
>  EmitSingletonInitialiser(JSContext *cx, BytecodeEmitter *bce, ParseNode *pn)
>  {
>      RootedValue value(cx);
> +    if (!pn->getConstantValue(cx, bce->sc->needStrictChecks(), &value, MaybeSingletonObject))

This is the only use of getConstantValue, so you can lose the newKind argument and just always allocate initializer objects from the tenured heap.
Attachment #718710 - Flags: review?(bhackett1024) → review+
(Reporter)

Comment 2

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/5a0004e62900
https://hg.mozilla.org/mozilla-central/rev/5a0004e62900
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
You need to log in before you can comment on or make changes to this bug.