Bug 198368

Summary: [JSC] JSPropertyNameEnumerator and ImmutableButterfly for keys should be discarded eventually
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: NEW    
Severity: Normal    
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Yusuke Suzuki
Reported 2019-05-30 03:38:26 PDT
We should mark a flag when it is used. In Full GC, we should mark them only when the flag is marked. And we clear the flag. I think it works well.
Attachments
Yusuke Suzuki
Comment 1 2019-05-30 03:42:50 PDT
I'm now guessing that many of UniqueArray in https://bugs.webkit.org/show_bug.cgi?id=186422#c35 is UniqueArray<WriteBarrier<Structure>> in StructureChain. If StructureChain size is actually a problem, another possible optimization I come up with is, making some frequently seen Structure sequence as a flag. Like, ArrayPrototype -> ObjectPrototype -> null.
Yusuke Suzuki
Comment 2 2019-05-30 18:18:42 PDT
Investigating StructureChain's Vector size now.
Yusuke Suzuki
Comment 3 2019-05-30 18:33:12 PDT
(In reply to Yusuke Suzuki from comment #2) > Investigating StructureChain's Vector size now. StructureVector_0x1044fe000 6144K 344K 344K 0K 7834 280K 64K 19% 6 Not so much. Maybe, UniqueArray comes from Image data?
Yusuke Suzuki
Comment 4 2019-06-08 23:40:04 PDT
UniqueArray is unrelated (it is used for malloc tracking).
Note You need to log in before you can comment on or make changes to this bug.