| Index: test/unittests/compiler/interpreter-assembler-unittest.cc
|
| diff --git a/test/unittests/compiler/interpreter-assembler-unittest.cc b/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| index 3f05a535b09f6f96b97b6539241574c6839c64b7..8a37c873a1a062d8237f76e005ef7f220eab6b4d 100644
|
| --- a/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| +++ b/test/unittests/compiler/interpreter-assembler-unittest.cc
|
| @@ -503,7 +503,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, LoadObjectField) {
|
| }
|
|
|
|
|
| -TARGET_TEST_F(InterpreterAssemblerTest, CallRuntime) {
|
| +TARGET_TEST_F(InterpreterAssemblerTest, CallRuntime2) {
|
| TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) {
|
| InterpreterAssemblerForTest m(this, bytecode);
|
| Node* arg1 = m.Int32Constant(2);
|
| @@ -516,6 +516,33 @@ TARGET_TEST_F(InterpreterAssemblerTest, CallRuntime) {
|
| }
|
|
|
|
|
| +TARGET_TEST_F(InterpreterAssemblerTest, CallRuntime) {
|
| + TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) {
|
| + InterpreterAssemblerForTest m(this, bytecode);
|
| + Callable builtin = CodeFactory::InterpreterCEntry(isolate());
|
| +
|
| + Node* function_id = m.Int32Constant(0);
|
| + Node* first_arg = m.Int32Constant(1);
|
| + Node* arg_count = m.Int32Constant(2);
|
| +
|
| + Matcher<Node*> function_table = IsExternalConstant(
|
| + ExternalReference::runtime_function_table_address(isolate()));
|
| + Matcher<Node*> function = IsIntPtrAdd(
|
| + function_table,
|
| + IsInt32Mul(function_id, IsInt32Constant(sizeof(Runtime::Function))));
|
| + Matcher<Node*> function_entry =
|
| + m.IsLoad(kMachPtr, function,
|
| + IsInt32Constant(offsetof(Runtime::Function, entry)));
|
| +
|
| + Node* call_runtime = m.CallRuntime(function_id, first_arg, arg_count);
|
| + EXPECT_THAT(call_runtime,
|
| + m.IsCall(_, IsHeapConstant(builtin.code()), arg_count,
|
| + first_arg, function_entry,
|
| + IsParameter(Linkage::kInterpreterContextParameter)));
|
| + }
|
| +}
|
| +
|
| +
|
| TARGET_TEST_F(InterpreterAssemblerTest, CallIC) {
|
| TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) {
|
| InterpreterAssemblerForTest m(this, bytecode);
|
| @@ -536,7 +563,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, CallIC) {
|
| TARGET_TEST_F(InterpreterAssemblerTest, CallJS) {
|
| TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) {
|
| InterpreterAssemblerForTest m(this, bytecode);
|
| - Callable builtin = CodeFactory::PushArgsAndCall(isolate());
|
| + Callable builtin = CodeFactory::InterpreterPushArgsAndCall(isolate());
|
| Node* function = m.Int32Constant(0);
|
| Node* first_arg = m.Int32Constant(1);
|
| Node* arg_count = m.Int32Constant(2);
|
|
|