Closed Bug 1683276 Opened 4 years ago Closed 4 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.

Depends on D101577

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: