Closed Bug 474769 Opened 13 years ago Closed 13 years ago

TM: wrong number with nested type-unstable loops

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

VERIFIED FIXED

People

(Reporter: jruderman, Assigned: dvander)

References

Details

(Keywords: regression, testcase, verified1.9.1)

Attachments

(1 file)

for each (b in [1, 1, 1, 1.5, 1, 1]) {
    (function() { for each (let h in [0, 0, 1.4, ""]) {} })()
}
print(b);

Result: -6.2774359784998874e+66

Expected: 1

Regression from bug 469044, I think.
Assignee: general → danderson
Looks like two incompatible peers are being linked somewhere, it's trying to unbox 0x00000001 0xCDCDCDCD as a double whereas it's 0x1 as an integer.
Attached patch proposed fixSplinter Review
missing break tried to patch the same branch twice.  also, fixed a small memory leak.
Attachment #358320 - Flags: review?(gal)
Comment on attachment 358320 [details] [diff] [review]
proposed fix

Nice. I think someone actually reported this leak as "leak in chrome".
Attachment #358320 - Flags: review?(gal) → review+
Pushed fix as changeset: http://hg.mozilla.org/tracemonkey/rev/349fab40252a
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
http://hg.mozilla.org/mozilla-central/rev/9a4f1433c04b
/cvsroot/mozilla/js/tests/js1_8/regress/regress-474769.js,v  <--  regress-474769.js
initial revision: 1.1
Flags: in-testsuite+
Flags: in-litmus-
v 1.9.1, 1.9.2
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.