Move CompilationStencil.{moduleMetadata, asmJS} out of CompilationStencil
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
(Blocks 1 open bug)
Details
Attachments
(8 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
StencilModuleMetadata
contains multiple vectors, and sizeof(StencilModuleMetadata)
is 152.
bug 1681011 made moduleMetadata
field Maybe
so that the ctor/dtor cost is removed, but still it takes some space, especially in delazification vector, where the field isn't used.
if we can move moduleMetadata
out of CompilationStencil
, it will reduce the memory taken by delazification vector.
Assignee | ||
Comment 1•3 years ago
|
||
or perhaps we can add a new struct inside CompilationStencil that contains fields shared between initial and delazification, and use the new struct in delazification vector.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
•
|
||
I'll add InitialSpecificCompilationStencil
and move asmJS
/moduleMetadata
there.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
New plan:
- Rename
CompilationStencil
toBaseCompilationStencil
- Rename
CompilationInfoVector
toCompilationStencilSet
- Rename
CompilationInfo
toCompilationStencil
- Make
CompilationStencil
a subclass ofBaseCompilationStencil
, so thatstencil
field becomesthis
- Make
CompilationStencilSet
a subclass ofCompilationStencil
, so thatinitial
field becomesthis
- move
asmJS
,moduleMetadata
,scriptExtra
toCompilationStencil
, so that they become initial-stencil-only field, and delazification array (BaseCompilationStencil
array) becomes smaller
the actual patch stack uses a bit different order.
Assignee | ||
Comment 4•3 years ago
|
||
Assignee | ||
Comment 5•3 years ago
|
||
Depends on D101573
Assignee | ||
Comment 6•3 years ago
|
||
Depends on D101574
Assignee | ||
Comment 7•3 years ago
|
||
Depends on D101575
Assignee | ||
Comment 8•3 years ago
|
||
Depends on D101576
Assignee | ||
Comment 9•3 years ago
|
||
Depends on D101577
Assignee | ||
Comment 10•3 years ago
|
||
Depends on D101578
Assignee | ||
Comment 11•3 years ago
|
||
Depends on D101579
Comment 12•3 years ago
|
||
Pushed by arai_a@mac.com: https://hg.mozilla.org/integration/autoland/rev/de1ed4223c83 Part 1: Rename CompilationStencil to BaseCompilationStencil. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/bd5dc5388b5d Part 2: Rename CompilationInfoVector to CompilationStencilSet. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/c7533b190c9d Part 3: Make CompilationInfo a subclass of BaseCompilationStencil. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/2328d39800e3 Part 4: Make CompilationStencilSet a subclass of CompilationInfo. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/829094e9aee5 Part 5: Rename CompilationInfo to CompilationStencil. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/10f2977fc704 Part 6: Move asmJS to CompilationStencil. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/5bc769813a88 Part 7: Move moduleMetadata to CompilationStencil. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/316011629013 Part 8: Move scriptExtra to CompilationStencil. r=tcampbell
Comment 13•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/de1ed4223c83
https://hg.mozilla.org/mozilla-central/rev/bd5dc5388b5d
https://hg.mozilla.org/mozilla-central/rev/c7533b190c9d
https://hg.mozilla.org/mozilla-central/rev/2328d39800e3
https://hg.mozilla.org/mozilla-central/rev/829094e9aee5
https://hg.mozilla.org/mozilla-central/rev/10f2977fc704
https://hg.mozilla.org/mozilla-central/rev/5bc769813a88
https://hg.mozilla.org/mozilla-central/rev/316011629013
Description
•