Bug 198368
| Summary: | [JSC] JSPropertyNameEnumerator and ImmutableButterfly for keys should be discarded eventually | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Yusuke Suzuki <ysuzuki> |
| Component: | JavaScriptCore | Assignee: | Yusuke Suzuki <ysuzuki> |
| Status: | NEW | ||
| Severity: | Normal | ||
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Yusuke Suzuki
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Yusuke Suzuki
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
Investigating StructureChain's Vector size now.
Yusuke Suzuki
(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
UniqueArray is unrelated (it is used for malloc tracking).