Closed Bug 507678 Opened 15 years ago Closed 15 years ago

TM: Different values with testcase containing for, function

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 507053

People

(Reporter: gkw, Unassigned)

Details

(Keywords: testcase)

let(f = function () {
    let b = (function () {
        for (a = 0; a < 3; ++a) {
            b = a
            print(b)
        }
    })()
}) {
    f()
    f()
}

outputs different results on TM branch with and without -j. Doesn't seem to affect 1.9.1 branch.

===

$ ~/Desktop/tm-30811-b8cc6ff9d6dc/js-opt-tm-darwin 
js> let(f = function () {
    let b = (function () {
        for (a = 0; a < 3; ++a) {
            b = a
            print(b)
        }
    })()
}) {
    f()
    f()
}
0
1
2
0
1
2
js> 

$ ~/Desktop/tm-30811-b8cc6ff9d6dc/js-opt-tm-darwin -j
js> let(f = function () {
    let b = (function () {
        for (a = 0; a < 3; ++a) {
            b = a
            print(b)
        }
    })()
}) {
    f()
    f()
}
0
1
2
undefined
undefined
undefined
js>
Flags: blocking1.9.2?
This seems to have been fixed by this changeset:

changeset:   30813:be4280409fb3
user:        David Mandelin <dmandelin@mozilla.com>
date:        Thu Jul 30 11:34:35 2009 -0700
summary:     Bug 507053: fix on-trace scope chain computation for JSOP_BINDNAME, r=gal
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
By the way, I like the way your test output in this bug report shows what rev you were testing with. Very helpful.
Flags: in-testsuite?
Dupe of blocking.  Clearing flag.
Flags: blocking1.9.2?
You need to log in before you can comment on or make changes to this bug.