Closed Bug 1688788 Opened 4 years ago Closed 3 years ago

Migrate Gecko ScriptPreloader to Stencil-XDR bytecode format

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
94 Branch
Tracking Status
firefox94 --- fixed

People

(Reporter: tcampbell, Assigned: mgaudet)

References

Details

Attachments

(2 files, 4 obsolete files)

The legacy-XDR format is deprecated and slated for removal. Using Stencil will be less error prone going forward and opens up a lot of new performance optimizations.

The ScriptPreloader currently uses non-incremental XDR mode which is not supported by Stencil-XDR, but also always uses full-parsing when encoding so capturing XDR on the original stencil has the same data as capturing legacy-XDR data after execution.

Blocks: 1688791
Depends on: 1689483
Depends on: 1689734

Depends on D103709

Depends on D103710

Side note: On Ted's advice I did some Talos-other runs to spot any improvements or degradations: nothing stands out

Two more tips:

  • Use MOZ_PROFILER_STARTUP=1 env var to capture early startup trace and see if you can see any change in compiles.
  • Run the awsy / awsy-base tests for good measure.
Depends on: 1690115
Depends on: 1690360
Attachment #9200516 - Attachment is obsolete: true
Attachment #9200515 - Attachment is obsolete: true
Attachment #9200514 - Attachment is obsolete: true
Attachment #9200767 - Attachment is obsolete: true

Marking this bug as stalled based on review comments from Ted:

Current status is that this is stalled for potential performance issues of moving gc-atomization calls to main thread. Our strategy here will likely need to be modified.

Status: NEW → ASSIGNED
Keywords: stalled
Blocks: 1718194
Blocks: 1718481
Blocks: 1718529
Blocks: 1662152
Depends on: 1721120
Assignee: mgaudet → nobody
Status: ASSIGNED → NEW

basically depends on bug 1721120, but it needs to be addressed after this patch, due to dependency around XDR

Blocks: 1721413
Assignee: nobody → mgaudet
Attachment #9200513 - Attachment description: Bug 1688788 - Improve ScriptPreloader comments around IPC r?kmag DONTBUILD → Bug 1688788 - Improve ScriptPreloader comments around IPC r?kmag! DONTBUILD
Status: NEW → ASSIGNED
Attachment #9217516 - Attachment description: Bug 1688788 - Convert ScriptPreloader to manage Stencils, not Scripts r?kmag!,tcampbell! → Bug 1688788 - Convert ScriptPreloader to manage Stencils, not Scripts. r?kmag!

The performance regression is going to be addressed by https://bugzilla.mozilla.org/show_bug.cgi?id=1721413 ,
but it depends on several bugs after this bug.

The plan the following:

  1. Land StartupCache patches (bug 1688790)
  2. Land ScriptPreloader patches (bug 1688788 = this bug)
  3. Remove remaining usage of legacy XDR (bug 1718194 and bug 1718481)
  4. Remove remaining usage of script cloning (bug 1718623 and bug 1718536)
  5. Remove script cloning bug 1718529 and bug 1662152
  6. Remove legacy XDR (bug 1718711 and bug 1688791)
  7. Address the performance regression (bug 1721413)
Pushed by arai_a@mac.com: https://hg.mozilla.org/integration/autoland/rev/e660e2c3c3d1 Improve ScriptPreloader comments around IPC r=kmag DONTBUILD https://hg.mozilla.org/integration/autoland/rev/2bc5949902ac Convert ScriptPreloader to manage Stencils, not Scripts. r=kmag,tcampbell
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch

Since the bug is closed, the stalled keyword is now meaningless.
For more information, please visit auto_nag documentation.

Keywords: stalled
Regressions: 1735550
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: