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

don't try to shrink object slots during GC marking

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
7 years ago
6 years ago

People

(Reporter: gal, Assigned: gal)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

(Assignee)

Description

7 years ago
Instead of checking at every GC where we have to shrink slots, do so after having deleted a property from native objects. We give objects some wriggle room and only shrink once at least 25% of slots are unused. This code only hits for native objects (not arrays). I don't think is a particularly important path to shrink early, the shape associated with the property we delete uses many times more memory then the free slot itself.
(Assignee)

Comment 1

7 years ago
Created attachment 517627 [details] [diff] [review]
patch
Assignee: general → gal
(Assignee)

Updated

7 years ago
Attachment #517627 - Flags: review?(brendan)
(Assignee)

Updated

7 years ago
Attachment #517627 - Flags: review?(brendan) → review?(bhackett1024)
(Assignee)

Updated

7 years ago
Blocks: 639729
Attachment #517627 - Flags: review?(bhackett1024) → review+
(Assignee)

Comment 2

7 years ago
http://hg.mozilla.org/tracemonkey/rev/b16be37906fe
Whiteboard: fixed-in-tracemonkey
Depends on: 643839
http://hg.mozilla.org/mozilla-central/rev/b16be37906fe
Status: NEW → RESOLVED
Last Resolved: 7 years ago
OS: Mac OS X → Windows 7
Resolution: --- → FIXED
No longer depends on: 643839

Updated

6 years ago
Duplicate of this bug: 673205
You need to log in before you can comment on or make changes to this bug.