Closed Bug 350810 Opened 18 years ago Closed 18 years ago

Incorrect decompilation for "let" in lvalue part of for..in

Categories

(Core :: JavaScript Engine, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla1.8.1

People

(Reporter: jruderman, Assigned: brendan)

References

Details

(Keywords: testcase, verified1.8.1)

Attachments

(1 file)

> function () { for ((let (x = 3) y)[5] in []) { } } function () { for ((let (3 = 3) y)[5] in []) { } } Like in bug 349493 and bug 350288, incorrect decompilation gives "let (3 = 3)".
I added a missing error check (todo < 0 => return false) that should have been in the last patch to jsopcode.c. /be
Assignee: general → brendan
Status: NEW → ASSIGNED
Attachment #236258 - Flags: review?(mrbkap)
Attachment #236258 - Flags: review?(sayrer)
OS: Mac OS X 10.4 → All
Priority: -- → P2
Hardware: Macintosh → All
Target Milestone: --- → mozilla1.8.1
Attachment #236258 - Flags: review?(mrbkap) → review+
Attachment #236258 - Flags: review?(sayrer) → review+
Checking in jsopcode.c; /cvsroot/mozilla/js/src/jsopcode.c,v <-- jsopcode.c new revision: 3.152; previous revision: 3.151 done Fixed on trunk. /be
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment on attachment 236258 [details] [diff] [review] decompiler can't cheat and not preserve the compiler's stack model This is pretty important for js1.7, since it adds local let-bound or catch-bound variables that require exact stack modeling, for code generation and for decompilation. This bug is only in the decompiler, not in the code generator, but the decompiler counts too! /be
Attachment #236258 - Flags: approval1.8.1?
Comment on attachment 236258 [details] [diff] [review] decompiler can't cheat and not preserve the compiler's stack model a=beltzner on behalf of 181drivers
Attachment #236258 - Flags: approval1.8.1? → approval1.8.1+
Checking in regress-350810.js; /cvsroot/mozilla/js/tests/js1_7/block/regress-350810.js,v <-- regress-350810.js initial revision: 1.1
Flags: in-testsuite+
Fixed on the 1.8 branch. /be
Blocks: js1.7let
Keywords: fixed1.8.1
verified fixed 1.8, 1.9 2006090118 windows/mac*/linux
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: