Closed Bug 1615729 Opened 5 years ago Closed 5 years ago

Can we make CompileOptions return us a JSScript::ImmutableFlags

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: mgaudet, Assigned: caroline)

References

Details

Attachments

(3 files)

This will avoid having to copy all sorts of things individually and generally provide a route for us to share with Smoosh.

Probably worth sorting these flags to the start of the enum just for clarity. (Some of the ImmutableFlags are inputs, while the rest are only outputs).

Should reorder these flags into:

[Input Flags]
[Parser Flags]
[Emitter Flags]

See CheckFlagsOnDelazification

Priority: -- → P2
Blocks: 1617013
Assignee: nobody → ccullen
Status: NEW → ASSIGNED
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e3fffbd8245f
Move ImmutableFlags for SharedStencil.h. r=mgaudet
Keywords: leave-open
Regressions: 1617306
No longer regressions: 1617306
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/edb67faa4068
Move setFlags with boolean logic into SharedStencil.h r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/dd11011dd49a
Pass individual input flags as an ImmutableFlags to JSScript::Create. r=mgaudet

Initially, we wanted to have CompileOptions contain a ImmutableScriptFlags, so instead of having 3 separate input flags within CompileOptions we would have one representation for all input flags and use that representation of those flags throughout the vm. In practice, this was a harder problem because CompileOptions lives within the js/public directory and SharedStencil within js/src/vm.

Even if we leave CompileOptions alone for the reasons you state, we should be able to remove uses of it from within the parser/bce themselves.

Blocks: 1620776
No longer blocks: stencil

We marked this one as leave-open because we split the landing: Can we resolve fixed now, or is there more patches incoming here?

Flags: needinfo?(ccullen)

This patch as stated is fixed, the more robust solution is to come. Those patches will be attached to other bugs elsewhere in the tree.

Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Flags: needinfo?(ccullen)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: