Closed Bug 1653248 Opened 2 months ago Closed 2 months ago

Cleanup ScopeCreationData stencil structures

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

(Depends on 1 open bug)

Details

Attachments

(6 files)

After Bug 1651880, we allocate the js::Scopes from ScopeCreationData in a bulk operation. This now allows us to simplify the ScopeCreationData type to not have js::Scope point inline.

TODO

  • Move scope_ field from ScopeCreationData to CompilationInfo
  • Merge EnvironmentShapeCreationData with ScopeCreationData
  • Replace JSClass* member with enum or make implicit
  • Replace use of AbstractScopePtr if possible
  • Rename to ScopeStencil or similar.
  • Eliminate BindingIter field if possible.
Severity: -- → N/A
Blocks: 1653895
Depends on: 1655052

TODO: Why does this fail tests?

Depends on D84886

Replace this field with a vector on CompilationInfo in a similar way to how
JSFunctions are handled.

Depends on D84887

Replace the enclosing scope field with a Maybe<ScopeIndex> field. When the
enclosing scope is an existing concrete scope, the CompilationInfo data will
be used instead.

Depends on D84888

Depends on D84889

Blocks: 1608195
Pushed by tcampbell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0967a48ff1e9
Add BASESHAPE_FLAGS to EnvironmentObject subclasses r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/54fe44a4fb99
Add js::BindingIter constructor for environment shape deferral r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/d3804a6daa30
Remove ScopeCreationData::scope_ field r=arai
https://hg.mozilla.org/integration/autoland/rev/e0384bee76bb
Remove EnvironmentShapeCreationData structure r=arai
https://hg.mozilla.org/integration/autoland/rev/1e4afa0fa381
Remove AbstractScopePtr from ScopeCreationData r=arai
https://hg.mozilla.org/integration/autoland/rev/c71cd0098f80
Rename ScopeCreationData to ScopeStencil r=arai
You need to log in before you can comment on or make changes to this bug.