archives

« Bugzilla Issues Index

#1778 — 15.*: Missing ReturnIfAbrupt calls in several algorithms


ReturnIfAbrupt calls are missing after several fallible operations:


15.4.3.4, step 8.d.iv.4.a: Get(E, P) is fallible
15.4.3.4, step 8.d.iv.4.b: [[DefineOwnProperty]] is fallible
15.4.3.4, step 8.e: [[DefineOwnProperty]] is fallible

15.4.3.5, step 7: ToString(separator) is fallible

15.4.3.16, step 9.b: HasProperty(O, Pk) is fallible

15.5.3.13, step 5: ToInteger(start) is fallible
15.5.3.13, step 6: ToInteger(end) is fallible

15.5.3.14, step 8: ToUint32(limit) is fallible

15.5.3.15, step 5: ToInteger(start) is fallible
15.5.3.15, step 6: ToInteger(end) is fallible

15.9.4.28, step 1: 'this time value' is fallible
15.9.4.28, step 2: ToNumber(ms) is fallible

15.9.4.29, step 1: ToNumber(ms) is fallible

15.9.4.30, step 1: 'this time value' is fallible
15.9.4.30, step 2: ToNumber(sec) is fallible
15.9.4.30, step 3: ToNumber(ms) is fallible

15.9.4.31, step 3: ToNumber(sec) is fallible
15.9.4.31, step 4: ToNumber(ms) is fallible

15.9.4.32, step 1: 'this time value' is fallible
15.9.4.32, step 2: ToNumber(min) is fallible
15.9.4.32, step 3: ToNumber(sec) is fallible
15.9.4.32, step 4: ToNumber(ms) is fallible

15.9.4.33, step 3: ToNumber(min) is fallible
15.9.4.33, step 4: ToNumber(sec) is fallible
15.9.4.33, step 5: ToNumber(ms) is fallible

15.9.4.34, step 1: 'this time value' is fallible
15.9.4.34, step 2: ToNumber(hour) is fallible
15.9.4.34, step 3: ToNumber(min) is fallible
15.9.4.34, step 4: ToNumber(sec) is fallible
15.9.4.34, step 5: ToNumber(ms) is fallible

15.9.4.35, step 3: ToNumber(hour) is fallible
15.9.4.35, step 4: ToNumber(min) is fallible
15.9.4.35, step 5: ToNumber(sec) is fallible
15.9.4.35, step 6: ToNumber(ms) is fallible

15.9.4.36, step 1: 'this time value' is fallible
15.9.4.36, step 2: ToNumber(date) is fallible

15.9.4.37, step 3: ToNumber(date) is fallible

15.9.4.38, step 1: 'this time value' is fallible
15.9.4.38, step 2: ToNumber(month) is fallible
15.9.4.38, step 3: ToNumber(date) is fallible

15.9.4.39, step 3: ToNumber(month) is fallible
15.9.4.39, step 4: ToNumber(date) is fallible

15.9.4.40, step 1: 'this time value' is fallible
15.9.4.40, step 2: ToNumber(year) is fallible
15.9.4.40, step 3: ToNumber(month) is fallible
15.9.4.40, step 4: ToNumber(date) is fallible

15.9.4.41, step 3: ToNumber(year) is fallible
15.9.4.41, step 4: ToNumber(month) is fallible
15.9.4.41, step 5: ToNumber(date) is fallible

15.9.4.44, step 2: ToPrimitive is fallible

15.12.2, Walk, step 3.a.iv.1: Walk is fallible
15.12.2, Walk, step 3.b.i: [[Enumerate]] is fallible
15.12.2, Walk, step 3.b.ii.1: Walk is fallible

15.12.3, step 4.b.ii: Retrieving the value 'v' is fallible
15.12.3, step 4.b.ii.4.a: ToString(v) is fallible
15.12.3, step 5.a.i: ToNumber(space) is fallible
15.12.3, step 5.b.i: ToString(space) is fallible

15.12.3, Str, step 3a: Get(value, "toJSON") is fallible
15.12.3, Str, step 5a: ToNumber(value) is fallible
15.12.3, Str, step 5b: ToString(value) is fallible

15.12.3, JO, step 6.a: [[Enumerate]] is fallible


15.4.3.12, step 17.d.iii: [[DefineOwnProperty]] is fallible
15.4.3.19, step 13.d.v: [[DefineOwnProperty]] is fallible
15.4.3.20, step 13.d.v.1: [[DefineOwnProperty]] is fallible


21.2.3.3 - RegExpAlloc, step 2: OrdinaryCreateFromConstructor is fallible


All fixed except for Date.prototype.setXXX methods.


In Date.prototype.setXXX, abrupt completions in this step:
> 1. Let t be LocalTime(this time value).

Require these steps instead:
> 1. Let t be this time value.
> 2. ReturnIfAbrupt(t).
> 3. Let t be LocalTime(t).


fixed in rev34 editor's draft

in particula the date setXXXs

thanks for verifying all of these


fixed in rev34