Commit fe81aba
committed
[JSC] Unify allocators
https://bugs.webkit.org/show_bug.cgi?id=323629
rdar://186860590
Reviewed by Marcus Plutowski.
Previously each Subspace is having its own allocator. But this is
wasteful so this patch unifies them into one. So we can unlock
exchanging MarkedBlock between them.
But we intentionally do not exchange MarkedBlock when it is
destructible. This is because MarkedBlock::sweep becomes costly, and it
puts sudden cost to the unrelated place when some non destructible cell
uses MarkedBlock coming from destructible cell.
* Source/JavaScriptCore/heap/BlockDirectory.cpp:
(JSC::BlockDirectory::findEmptyBlockToSteal):
* Source/JavaScriptCore/heap/IsoSubspace.cpp:
(JSC::IsoSubspace::IsoSubspace):
Canonical link: https://commits.webkit.org/320655@main1 parent 18ee793 commit fe81aba
2 files changed
Lines changed: 7 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
105 | 109 | | |
106 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
0 commit comments