Closed Bug 94631 Opened 24 years ago Closed 24 years ago

JSRESOLVE_ASSIGNING broken in JSNewResolveOp

Categories

(Core :: JavaScript Engine, defect, P3)

defect

Tracking

()

VERIFIED FIXED
mozilla0.9.4

People

(Reporter: brendan, Assigned: brendan)

Details

(Keywords: js1.5)

Attachments

(1 file)

This busted a while ago (long while), when JSOP_BINDNAME/JSOP_SETNAME split out of the old JSOP_SETNAME for ECMA purity. Trivial patch coming up. /be
Status: NEW → ASSIGNED
Keywords: js1.5, mozilla0.9.4
Priority: -- → P3
Target Milestone: --- → mozilla0.9.4
Attached patch proposed fixSplinter Review
The case that broke is when JSRESOLVE_QUALIFIED is not set, i.e., when assigning to an unqualified name ('x = 42'). ECMA-262 requires that 'x' be found on the scope chain before the right-hand side of = is evaluated, in case the rhs has side effects. JSOP_BINDNAME therefore causes 'x' to be resolved, but unless the JSOP_BINDNAME opcode has the JOF_SET opcode format flag set, the JSNewResolve case won't compute JSRESOLVE_ASSIGNING into flags. r= and sr= please? Another softball. /be
r=shaver.
sr=jband
Fix is in, thanks. /be
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Marking Verified -
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: