JS Correctness: Different error messages with -m -a and with -m or interp

RESOLVED WORKSFORME

Status

()

RESOLVED WORKSFORME
7 years ago
7 years ago

People

(Reporter: gkw, Unassigned)

Tracking

(Blocks: 3 bugs, {regression, testcase})

Trunk
x86_64
Mac OS X
regression, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: js-triage-needed)

(Reporter)

Description

7 years ago
"use strict";
for each(let z in [0, 0]) {
    try {
        for (s = 0;;) {
            t()
        }
    } catch (e) {
        print('' + e)
    }
}

On js opt shell on m-c changeset a0d32d0353e1 passing testcase as a CLI argument:

$ ./js-opt-64-mc-darwin w8511-cj-in.js 
ReferenceError: assignment to undeclared variable s
ReferenceError: assignment to undeclared variable s

$ ./js-opt-64-mc-darwin -m w8511-cj-in.js 
ReferenceError: assignment to undeclared variable s
ReferenceError: assignment to undeclared variable s

$ ./js-opt-64-mc-darwin -m -a w8511-cj-in.js 
ReferenceError: assignment to undeclared variable s
ReferenceError: t is not defined

we get different error messages with ( interp or -m ) and -m -a.

autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   81356:39a0770a0541
user:        Brian Hackett
date:        Fri Nov 25 17:45:41 2011 -0500
summary:     Fix inverted test, improve test when marking objects with uncacheable prototypes, bug 703047.
(Reporter)

Updated

7 years ago
Blocks: 349611
(Reporter)

Updated

7 years ago
Severity: critical → normal

Comment 1

7 years ago
WFM on mozilla-central. I now get "ReferenceError: assignment to undeclared variable s" in all execution modes.

The first good revision is:
changeset:   38344f96b3e3
user:        Luke Wagner
date:        Fri Oct 07 12:02:50 2011 -0700
summary:     Bug Bug 692274, part 4 - Rewrite parsing, emitting and decompiling of let to fix scoping properly (r=jorendorff)
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WORKSFORME
(Reporter)

Comment 2

7 years ago
Bisections seem weird. How can the first good revision be *before* the first bad revision?

Comment 3

7 years ago
It isn't. 39a0770a0541 is an ancestor of 38344f96b3e3. The date on 38344f96b3e3 is just weird.
You need to log in before you can comment on or make changes to this bug.