Consider flattening ropes during tenuring
Categories
(Core :: JavaScript: GC, task, P3)
Tracking
()
People
(Reporter: sfink, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [sp3])
Ropes can be flattened for many reasons. We don't know if it's actually worthwhile to keep ropes unflattened for long. One possibility would be to do the flattening during tenuring—if the rope survives long enough to be tenured, there's a good chance it will end up getting flattened eventually. How good, I don't know.
One unfortunate thing about this: flattening a deep rope may produce lots of dependent strings, most of them unreferenced. It would be better to flatten before (or at the beginning of) a minor GC, so that those dependent strings will not clutter up the major GC heap. But this is no worse than now, and the number of generated dependent strings is somewhat reduced by the substrings that are small enough to fit into an inline string.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•