Prepare to merge JSScript and LazyScript
Categories
(Core :: JavaScript Engine, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(5 files)
Here are a few patches needed for Bug 1529456 that bring LazyScript and JSScript closer together in our current system.
Assignee | ||
Comment 1•5 years ago
|
||
Decouple the JSScript creation for delazification from needing
CompileOptions. When JSScript and LazyScript become unified, this
operation will become a no-op.
Assignee | ||
Comment 2•5 years ago
|
||
When using ClearEdgesTracer on PrivateScriptData, we must erase the
types of the GCCellPtr to avoid a number of internal assertions. This is
needed to be able to release PrivateScriptData outside of the JSScript
finalizer.
Depends on D38023
Assignee | ||
Comment 3•5 years ago
|
||
This has equivalent overall behavior as before, but computes the
precise LazyScript::TreatAsRunOnce flag rather than checking the extra
conditions during delazification. The heuristics can be computed using
just the LazyScript information so the result is the same.
Depends on D38024
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 5•5 years ago
|
||
This flag is only checked by the eval-cache which currently disallows
any inner function/object. If the HasSingletons flag was set, we'd
already have inner objects so the effect is still the same without.
Comment 6•5 years ago
|
||
bugherder |
Assignee | ||
Comment 7•5 years ago
|
||
When flags are derived from the FunctionBox, we should consistently set
them for both LazyScript and JSScript even if their primary use it
hinting delazification.
Comment 9•5 years ago
|
||
bugherder |
Comment 10•5 years ago
|
||
Assignee | ||
Comment 12•5 years ago
|
||
Arai, one of the remaining JSScript::ImmutableFlags inconsistencies is the IsBinAST flag. This is currently only used for debugging and only valid on LazyScript. Should we remove the flag in favour of checking ScriptSource->hasBinASTSource()? Or is it straightforward for BinAST JSScript to set the flag as well during frontend?
Comment 13•5 years ago
|
||
Removing IsBinAST
flag and using ScriptSource->hasBinASTSource()
instead sounds reasonable.
Comment 14•5 years ago
|
||
bugherder |
Assignee | ||
Comment 15•5 years ago
|
||
(In reply to Tooru Fujisawa [:arai] from comment #13)
Removing
IsBinAST
flag and usingScriptSource->hasBinASTSource()
instead sounds reasonable.
I opened Bug 1567221 to do that.
Description
•