Closed Bug 1641419 Opened 4 months ago Closed 4 months ago

Defer JSFunction/BaseScript allocation in BinAST

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

Details

Attachments

(2 files)

Now that normal scripts are deferred, it is a much smaller task to also support BinAST while it's fate is decided.

Use consistent SourceExtent values with non-lazy BinAST scripts. Change the
accessors on js::BaseScript to be consistent with SharedContext. This will be
merged in the next patch. This patch also fixes a typo in index computation.

See BinASTParserPerTokenizer::makeEmptyFunctionNode(..) for how non-lazy
BinAST scripts initialize this. Note that toStringStart is always 0.

These changes are largely superficial because nothing tests for these values
and BinAST is not enabled by default. Consistency is still helpful though.

Store appropriate data on the FunctionBox and let the machinery for
non-BinAST scripts do the Stencil instantiation for us.

Depends on D77188

Pushed by tcampbell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/06d56b6fdbbf
Fix BinAST lazy BaseScript SourceExtent handling. r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/4525a2e75012
Defer BaseScript/JSFunction allocation in BinAST. r=mgaudet
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.