v8/test/webkit/fast/js
Mathias Bynens 35b6aa3849 [js] Remove CHECK_OBJECT_COERCIBLE for Array methods
The spec got rid of `CheckObjectCoercible` a while back, and so should
we. This change is not observable in most of the affected cases since
`ToObject` is up near the top of most Array method algorithms. An
example of an observable effect of this change occurs for the following
input:

    Array.prototype.sort.call(null, 1);

Behavior before applying the patch (incorrect message):

    TypeError: Array.prototype.sort called on null or undefined

Expected behavior:

    TypeError: The comparison function must be either a function or
               undefined

This patch removes `CheckObjectCoercible` and adds tests to ensure the
few observable cases are addressed correctly.

The patch also adds a missing `ToObject(this)` to
`Array.prototype.lastIndexOf` which would otherwise become observable
as a result of `CheckObjectCoercible` being removed.

BUG=v8:3577,v8:6921

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia086095076c4bf4d8d58dab26bc28df02994ed01
Reviewed-on: https://chromium-review.googlesource.com/718577
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48800}
2017-10-20 19:29:36 +00:00
..
kde Fix common misspellings 2017-08-02 09:35:28 +00:00
arguments-expected.txt Pass legacy const runtime flag to preparser appropriately 2016-03-18 01:09:17 +00:00
arguments.js Pass legacy const runtime flag to preparser appropriately 2016-03-18 01:09:17 +00:00
array-bad-time-expected.txt
array-bad-time.js
array-float-delete-expected.txt
array-float-delete.js
array-functions-non-arrays-expected.txt
array-functions-non-arrays.js
array-prototype-properties-expected.txt [js] Remove CHECK_OBJECT_COERCIBLE for Array methods 2017-10-20 19:29:36 +00:00
array-prototype-properties.js [js] Remove CHECK_OBJECT_COERCIBLE for Array methods 2017-10-20 19:29:36 +00:00
array-slow-put-expected.txt
array-slow-put.js
array-tostring-ignore-separator-expected.txt
array-tostring-ignore-separator.js
basic-strict-mode-expected.txt [runtime] Create only one instance of %ThrowTypeError%. 2017-07-10 08:26:02 +00:00
basic-strict-mode.js Remove the 'caller' property from the strict-mode arguments map 2016-11-04 14:30:29 +00:00
date-big-setmonth-expected.txt
date-big-setmonth.js
date-negative-setmonth-expected.txt
date-negative-setmonth.js
date-preserve-milliseconds-expected.txt
date-preserve-milliseconds.js
date-toisostring-expected.txt
date-toisostring.js
deep-recursion-test-expected.txt
deep-recursion-test.js [compiler] Make --debug-code the default in debug builds. 2016-12-02 11:36:55 +00:00
end-in-string-escape-expected.txt
end-in-string-escape.js
exception-properties-expected.txt
exception-properties.js
exception-registerfile-shrink-expected.txt
exception-registerfile-shrink.js
excessive-comma-usage-expected.txt
excessive-comma-usage.js [test] Slim down test that exceeds stack limit 2016-04-21 08:37:20 +00:00
function-apply-expected.txt [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply. 2015-12-17 08:41:19 +00:00
function-apply.js [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply. 2015-12-17 08:41:19 +00:00
function-constructor-error-expected.txt
function-constructor-error.js
function-decompilation-operators-expected.txt
function-decompilation-operators.js
function-toString-parentheses-expected.txt Ship ES2015 sloppy-mode const semantics 2016-01-11 23:09:59 +00:00
function-toString-parentheses.js
function-toString-semicolon-insertion-expected.txt Adjust whitespace to make tests oblivious to --harmony-function-tostring 2016-07-22 00:18:41 +00:00
function-toString-semicolon-insertion.js Adjust whitespace to make tests oblivious to --harmony-function-tostring 2016-07-22 00:18:41 +00:00
JSON-parse-reviver-expected.txt JSON.parse: properly deal with reviver result 2015-12-10 12:49:06 +00:00
JSON-parse-reviver.js JSON.parse: properly deal with reviver result 2015-12-10 12:49:06 +00:00
modify-non-references-expected.txt
modify-non-references.js
native-error-prototype-expected.txt Support intriscDefaultProto for Error functions 2015-12-09 07:53:34 +00:00
native-error-prototype.js Support intriscDefaultProto for Error functions 2015-12-09 07:53:34 +00:00
number-tofixed-expected.txt [builtins] Increase precision limits for toFixed, etc 2017-07-20 13:05:35 +00:00
number-tofixed.js
number-toprecision-expected.txt [builtins] Increase precision limits for toFixed, etc 2017-07-20 13:05:35 +00:00
number-toprecision.js
number-toString-expected.txt Reimplement Number.prototype.toString with non-default radix. 2016-11-24 10:30:46 +00:00
number-toString.js
numeric-escapes-in-string-literals-expected.txt Change error messages for octal escape sequences 2016-12-07 17:26:42 +00:00
numeric-escapes-in-string-literals.js
object-bad-time-expected.txt
object-bad-time.js
Object-defineProperty-expected.txt
Object-defineProperty.js
object-extra-comma-expected.txt
object-extra-comma.js
object-prototype-constructor-expected.txt
object-prototype-constructor.js
object-prototype-properties-expected.txt
object-prototype-properties.js
object-prototype-toLocaleString-expected.txt
object-prototype-toLocaleString.js
object-slow-put-expected.txt
object-slow-put.js
parser-syntax-check-expected.txt Enable --harmony-trailing-commas 2017-01-31 23:30:57 +00:00
parser-syntax-check.js Remove FLAG_min_preparse_length. 2016-11-18 14:06:49 +00:00
primitive-property-access-edge-cases-expected.txt
primitive-property-access-edge-cases.js
Promise-already-rejected-expected.txt
Promise-already-rejected.js
Promise-already-resolved-expected.txt
Promise-already-resolved.js
Promise-catch-expected.txt
Promise-catch.js
Promise-chained-then-expected.txt
Promise-chained-then.js
Promise-exception-expected.txt
Promise-exception.js
Promise-init-callback-receiver-expected.txt
Promise-init-callback-receiver.js
Promise-init-expected.txt
Promise-init.js
Promise-onFulfilled-deep-expected.txt
Promise-onFulfilled-deep.js
Promise-onRejected-deep-expected.txt
Promise-onRejected-deep.js
Promise-reject-expected.txt
Promise-reject.js
Promise-resolve-chain-expected.txt
Promise-resolve-chain.js
Promise-resolve-expected.txt
Promise-resolve-state-expected.txt
Promise-resolve-state.js
Promise-resolve-with-itself-expected.txt
Promise-resolve-with-itself.js
Promise-resolve-with-then-exception-expected.txt
Promise-resolve-with-then-exception.js
Promise-resolve-with-then-fulfill-expected.txt
Promise-resolve-with-then-fulfill.js
Promise-resolve-with-then-reject-expected.txt
Promise-resolve-with-then-reject.js
Promise-resolve.js
Promise-simple-expected.txt
Promise-simple.js
Promise-static-all-expected.txt
Promise-static-all.js
Promise-static-cast-expected.txt
Promise-static-cast.js
Promise-static-race-expected.txt
Promise-static-race.js
Promise-static-reject-expected.txt
Promise-static-reject.js
Promise-static-resolve-expected.txt
Promise-static-resolve.js
Promise-then-callback-receiver-expected.txt
Promise-then-callback-receiver.js
Promise-then-expected.txt
Promise-then-without-callbacks-expected.txt
Promise-then-without-callbacks.js
Promise-then.js
read-modify-eval-expected.txt
read-modify-eval.js Fix common misspellings 2017-08-02 09:35:28 +00:00
regexp-bol-expected.txt
regexp-bol-with-multiline-expected.txt
regexp-bol-with-multiline.js
regexp-bol.js
regexp-extended-characters-crash-expected.txt
regexp-extended-characters-crash.js
regexp-lastindex-expected.txt
regexp-lastindex.js
regexp-look-ahead-expected.txt
regexp-look-ahead.js
regexp-no-extensions-expected.txt
regexp-no-extensions.js
regexp-non-capturing-groups-expected.txt
regexp-non-capturing-groups.js
regexp-non-greedy-parentheses-expected.txt
regexp-non-greedy-parentheses.js
regexp-range-out-of-order-expected.txt
regexp-range-out-of-order.js
regexp-ranges-and-escaped-hyphens-expected.txt
regexp-ranges-and-escaped-hyphens.js
regexp-stack-overflow-expected.txt
regexp-stack-overflow.js
regexp-unicode-handling-expected.txt
regexp-unicode-handling.js
reserved-words-strict-expected.txt
reserved-words-strict.js
string-anchor-expected.txt
string-anchor.js
string-capitalization-expected.txt Turn on icu_case_mapping by default 2017-01-19 21:45:12 +00:00
string-capitalization.js
string-fontcolor-expected.txt
string-fontcolor.js
string-fontsize-expected.txt
string-fontsize.js
string-link-expected.txt
string-link.js
string-split-conformance-expected.txt
string-split-conformance.js
string-split-double-empty-expected.txt
string-split-double-empty.js
string-split-ignore-case-expected.txt
string-split-ignore-case.js
toString-exception-expected.txt
toString-exception.js
toString-number-expected.txt Reimplement Number.prototype.toString with non-default radix. 2016-11-24 10:30:46 +00:00
toString-number.js
toString-overrides-expected.txt Do not record source positions for non-script or native script compiles. 2016-07-08 08:49:45 +00:00
toString-overrides.js