Closed Bug 585260 Opened 14 years ago Closed 14 years ago

TM: Incorrect result with iterating over global, type instability

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 587964

People

(Reporter: jruderman, Unassigned)

Details

(Keywords: testcase)

var a = 0;
var b = 0;
var cC = 0;
var dD = 0;
var e = 0;
let (x) {
  for (let r in this) {
    x = (r[0] + " " + r[1]);
  }
  print(x);
}

The result should be "e undefined", but -j on the JM branch gives me "e".

Strangely, this happens only on the JM branch (not the TM branch), even though the JM branch is primarily dedicated to -m (not -j).
Assignee: general → dmandelin
Assignee: dmandelin → general
This slightly different test case prints different results with -j or not on the TM branch:

    var a = 0;
    var b = 0;
    var cC = 0;
    var dD = 0;
    var e = 0;
    let (x) {
      for (let r in this) {
	print(uneval(r))
	x = ("'" + r[0] + "' '" + r[1] + "'");
      }
      print(x);
    }

$ shell/js /c/sources/scratch/dd.js
"a"
"b"
"cC"
"dD"
"e"
'e' 'undefined'

$ shell/js -j /c/sources/scratch/dd.js
"a"
"b"
"cC"
"dD"
"e"
'e' ''
Summary: JM branch: TM: Incorrect result with iterating over global, type instability → TM: Incorrect result with iterating over global, type instability
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.