Closed Bug 1625471 Opened 5 years ago Closed 5 years ago

Add a separate JSOp for CheckGlobalOrEvalDeclarationConflicts

Categories

(Core :: JavaScript Engine, task)

task
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

We call js::CheckGlobalOrEvalDeclarationConflicts in the prologue of global/eval scripts, but especially in IonBuilder this is pretty messy and also complicates bailouts. Adding a separate JSOp::CheckGlobalOrEvalDecl for this lets us clean this up.

Adds JSOp::CheckGlobalOrEvalDecl instead of calling CheckGlobalOrEvalDeclarationConflicts
in the prologue of global/eval scripts. This simplifies code in Baseline, IonBuilder
and Ion bailouts.

The new op is also implemented in WarpBuilder. This fixes a number of test failures
because it didn't handle this yet.

Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e6daf3c4a812 Add a separate JSOp for CheckGlobalOrEvalDeclarationConflicts. r=tcampbell

SmooshMonkey probably needs to emit JSOp::CheckGlobalOrEvalDecl in global and sloppy eval scripts before JSOp::Def* ops.

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

Attachment

General

Created:
Updated:
Size: