Name Description Size
invoked-as-func.js 232
invoked-as-method.js 302
length.js 834
name.js 282
negative-zero.js 253
not-a-constructor.js 260
prop-desc.js 297
return-abrupt-from-end.js 433
return-abrupt-from-start.js 427
slice.js 8.2.3.5 Tuple.prototype.slice ( start, end ) When the slice method is called with two arguments, start and end, and returns a Tuple containing the elements of the Tuple from element start up to, but not including, element end (or through the end of the tuple if end is undefined). If start is negative, it is treated as length + start where length is the length of the tuple. If end is negative, it is treated as length + end where length is the length of the tuple. The following steps are taken: 1. Let T be ? thisTupleValue(this value). 2. Let list be T.[[Sequence]]. 3. Let len be the number of elements in list. 4. Let relativeStart be ? ToInteger(start). 5. If relativeStart < 0, let k be max((len + relativeStart), 0); else let k be min(relativeStart, len). 6. If end is undefined, let relativeEnd be len; else let relativeEnd be ? ToInteger(end). 7. If relativeEnd < 0, let final be max((len + relativeEnd), 0); else let final be min(relativeEnd, len). 8. Let newList be a new empty List. 9. Repeat, while k < final, a. Let kValue be list[k]. b. Assert: Type(kValue) is not Object. c. Append kValue to the end of newList. d. Set k to k + 1. 10. Return a new Tuple value whose [[Sequence]] is newList. 7324
tointeger-end.js 8.2.3.5 ... 6. If end is undefined, let relativeEnd be len; else let relativeEnd be ? ToInteger(end). 829
tointeger-start.js 8.2.3.5 ... 4. Let relativeStart be ? ToInteger(start). 748
tuple-length-internal.js Ensure that slice uses internal length and not length property 443