Closed Bug 1683276 Opened 3 years ago Closed 3 years ago

Move CompilationStencil.{moduleMetadata, asmJS} out of CompilationStencil

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox86 --- fixed

People

(Reporter: arai, Assigned: arai)

References

(Blocks 1 open bug)

Details

Attachments

(8 files)

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.

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.

I'll add InitialSpecificCompilationStencil and move asmJS/moduleMetadata there.

Assignee: nobody → arai.unmht
Status: NEW → ASSIGNED
Summary: Move CompilationStencil.moduleMetadata out of CompilationStencil? → Move CompilationStencil.{moduleMetadata, asmJS} out of CompilationStencil

New plan:

  • Rename CompilationStencil to BaseCompilationStencil
  • Rename CompilationInfoVector to CompilationStencilSet
  • Rename CompilationInfo to CompilationStencil
  • Make CompilationStencil a subclass of BaseCompilationStencil, so that stencil field becomes this
  • Make CompilationStencilSet a subclass of CompilationStencil, so that initial field becomes this
  • move asmJS, moduleMetadata, scriptExtra to CompilationStencil, so that they become initial-stencil-only field, and delazification array (BaseCompilationStencil array) becomes smaller

the actual patch stack uses a bit different order.

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
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: