« Bugzilla Issues Index
#4125 — 9.4.5.3 [[DefineOwnProperty]]: wrong return
- bug_id:
4125
- creation_ts:
2015-03-06 04:50:00 -0800
- short_desc:
9.4.5.3 [[DefineOwnProperty]]: wrong return
- delta_ts:
2015-03-17 16:57:04 -0700
- product:
Draft for 6th Edition
- component:
technical issue
- version:
Rev 34: February 20, 2015 Release Candidate 1
- rep_platform:
All
- op_sys:
All
- bug_status:
RESOLVED
- resolution:
FIXED
- priority:
Normal
- bug_severity:
enhancement
- everconfirmed:
true
- reporter:
Andreas Rossberg
- assigned_to:
Allen Wirfs-Brock
- cc:
["andrebargull", "jmdyck"]
- commentid:
13594
- comment_count:
0
- who:
Andreas Rossberg
- bug_when:
2015-03-06 04:50:15 -0800
In 9.4.5.3, [[DefineOwnProperty]] for integer-indexed objects, step 3.c.xi.3 should be "return status", not "ReturnIfAbrupt(status)", otherwise a reject in IntegerIndexedElementSet in the previous step will be silently swallowed. (Alternatively, tail-call IntegerIndexedElementSet, as in [[Set]].)
- commentid:
13595
- comment_count:
1
- who:
André Bargull
- bug_when:
2015-03-06 05:11:36 -0800
Step 3.c.xi.3 never returns `false` (array bounds are checked in 9.4.5.3 steps 3.c.i, 3.c.iii, 3.c.iv, 3.c.vi).
- commentid:
13596
- comment_count:
2
- who:
André Bargull
- bug_when:
2015-03-06 05:17:20 -0800
Maybe it's possible to remove steps 3.c.i, 3.c.iii, 3.c.iv, 3.c.vi and rely on IntegerIndexedElementSet to perform the bounds checks. This will lead to a different behaviour for detached buffers, but I don't think that's a problem.
- commentid:
13608
- comment_count:
3
- who:
Michael Dyck
- bug_when:
2015-03-06 09:31:38 -0800
(Note that this bug was raised today against rev 34, when the current Version is rev 35. It might have a better chance of being seen if you bump the Version.)
- commentid:
13730
- comment_count:
4
- who:
Allen Wirfs-Brock
- bug_when:
2015-03-15 11:27:10 -0700
fixed in rev36 editor's draft
The tail call solution was easiest fix as I think we want to the return false behavior when the buffer is detached.
In practice, an implementation is going to want to inline IntegerIndexedElementSet here and eliminate all the redundant checks.
- commentid:
13805
- comment_count:
5
- who:
Allen Wirfs-Brock
- bug_when:
2015-03-17 16:57:04 -0700
in rev36