Closed Bug 621654 Opened 9 years ago Closed 9 years ago

"[infer failure] Missing type" with strict-this

Categories

(Core :: JavaScript Engine, defect, critical)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: assertion, regression, testcase)

./js
new Function("'use strict'; '' + this;")()

[infer failure] Missing type at #3:00004 popped 0: 1:Global

The first bad revision is:
changeset:   http://hg.mozilla.org/projects/jaegermonkey/rev/2d2bc8417871
user:        Brian Hackett
date:        Tue Dec 21 18:26:09 2010 -0800
summary:     [INFER] Fixes for jstests, bug 620599, part 2.
I think this is related to bug 620315 (needs a TM->JM merge). Without that fix, "this" in a strict mode function evaluates to the global object, but this is wrong. Type inference correctly infers it as 'undefined'.
This works for me with -n -a now that bug 620315 is fixed.

Also, I changed things so that -a causes code to always be analyzed by type inference when it first runs, even if -m was not used (otherwise we only analyze when a script is about be compiled).  To always run the interpreter and its debug-mode type checks, use '-n -a'.  To always run the methodjit, use '-m -n -a'.

http://hg.mozilla.org/projects/jaegermonkey/rev/86d909728bdd
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.