Cleanup JSScript::fullyInitFromEmitter
Categories
(Core :: JavaScript Engine, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(10 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
I have a series of patches here to make JSScript::fullyInitFromEmitter more similar to the XDRScript code (with JSScript / PrivateScriptData / SharedScriptData initialized in phases).
As well, we should avoid the initialization code accessing the JSScript during initialization to compute more parts of it. The data for these queries should come from BCE instead.
Assignee | ||
Comment 1•6 years ago
|
||
This removes the redundant set of TreatAsRunOnce which is instead set by
CompileOptions before we start compiling. The IsModule flag is now set
directly similar to IsForEval.
Assignee | ||
Comment 2•6 years ago
|
||
Compute this flag directly from BytecodeEmitter data structures instead
of needing to access the partially initialized script while setting its
own flags.
Depends on D22313
Assignee | ||
Comment 3•6 years ago
|
||
Depends on D22315
Assignee | ||
Comment 4•6 years ago
|
||
Use an ExitScope similar to to XDRScript for more consistency.
Depends on D22316
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D22317
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D22318
Assignee | ||
Comment 7•6 years ago
|
||
When compiling a script with lazy inner functions, we now know the
scopes that those inner functions belong too and need to save this
information on the inner function itself (as enclosingScope). This patch
makes that process more explicit in JSScript initialization so we can
better reason about error / OOM paths.
Depends on D22319
Assignee | ||
Comment 8•6 years ago
|
||
Depends on D22320
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D22321
Assignee | ||
Comment 10•6 years ago
|
||
Split into one part for JSScript internal initialization of flags and a
second part for linking the JSFunction and JSScript only after the
script is fully initialized.
Depends on D22322
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3fd4fd359c05
https://hg.mozilla.org/mozilla-central/rev/1eb22a2970d3
https://hg.mozilla.org/mozilla-central/rev/a8cbb44ae49b
https://hg.mozilla.org/mozilla-central/rev/ce7559041ffa
https://hg.mozilla.org/mozilla-central/rev/a826392776b5
https://hg.mozilla.org/mozilla-central/rev/154ce749b8e1
https://hg.mozilla.org/mozilla-central/rev/62ba39ca25a2
https://hg.mozilla.org/mozilla-central/rev/e993e4a050b0
https://hg.mozilla.org/mozilla-central/rev/6da5f14c5005
https://hg.mozilla.org/mozilla-central/rev/ba3dfc81120d
Description
•