Commit 45876462 authored by bmeurer's avatar bmeurer Committed by Commit bot

[runtime] Make target checking for %Call and %_Call consistent.

The %_Call intrinsic (if supported by the compiler) is lowered directly
to the Call builtin and thus throws a TypeError if the target is not
callable. The %Call runtime function also eventually calls into the Call
builtin, but had an early abort if the target is not a JSReceiver, which
is unnecessary and leads to various test failures for Ignition.

R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/1727833006

Cr-Commit-Position: refs/heads/master@{#34316}
parent 1b821f2f
......@@ -253,7 +253,7 @@ RUNTIME_FUNCTION(Runtime_Call) {
HandleScope scope(isolate);
DCHECK_LE(2, args.length());
int const argc = args.length() - 2;
CONVERT_ARG_HANDLE_CHECKED(JSReceiver, target, 0);
CONVERT_ARG_HANDLE_CHECKED(Object, target, 0);
CONVERT_ARG_HANDLE_CHECKED(Object, receiver, 1);
ScopedVector<Handle<Object>> argv(argc);
for (int i = 0; i < argc; ++i) {
......
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
try {
%Call(1, 0);
} catch (e) {
assertTrue(e instanceof TypeError);
}
......@@ -868,21 +868,15 @@
'array-literal-feedback': [FAIL],
'debug-liveedit-2': [FAIL],
'compiler/deopt-tonumber-compare': [FAIL],
'es6/string-search': [FAIL],
'es6/mirror-collections': [FAIL],
'es6/regress/regress-468661': [FAIL],
'harmony/string-replace': [FAIL],
'harmony/string-match': [FAIL],
'harmony/string-split': [FAIL],
'regress/regress-2618': [FAIL],
'regress/regress-4121': [FAIL],
'regress/regress-4266': [FAIL],
'harmony/simd': [FAIL],
'regress/regress-crbug-109362': [FAIL],
'regress/regress-crbug-568477-2': [FAIL],
'regress/regress-crbug-568477-3': [FAIL],
'regress/regress-crbug-568477-1': [FAIL],
'regress/regress-2318': [FAIL],
# TODO(rmcilroy, 4680): new ES6 instanceof support
'harmony/instanceof-es6': [SKIP],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment