| Index: test/cctest/interpreter/test-interpreter.cc
|
| diff --git a/test/cctest/interpreter/test-interpreter.cc b/test/cctest/interpreter/test-interpreter.cc
|
| index 99a8d8bcd253021cd728372c54c9dd6484fbdaac..d1982e22cf72eb81a800554503ca97ace5ae1db7 100644
|
| --- a/test/cctest/interpreter/test-interpreter.cc
|
| +++ b/test/cctest/interpreter/test-interpreter.cc
|
| @@ -930,8 +930,7 @@ TEST(InterpreterStoreKeyedProperty) {
|
| CHECK_EQ(Smi::cast(*result), Smi::FromInt(999));
|
| }
|
|
|
| -
|
| -TEST(InterpreterCall) {
|
| +static void TestInterpreterCall(TailCallMode tail_call_mode) {
|
| HandleAndZoneScope handles;
|
| i::Isolate* isolate = handles.main_isolate();
|
| i::Factory* factory = isolate->factory();
|
| @@ -953,7 +952,7 @@ TEST(InterpreterCall) {
|
| 0, 1);
|
| builder.LoadNamedProperty(builder.Parameter(0), name, slot_index, i::SLOPPY)
|
| .StoreAccumulatorInRegister(Register(0))
|
| - .Call(Register(0), builder.Parameter(0), 1, 0)
|
| + .Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
|
| .Return();
|
| Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
|
|
|
| @@ -972,7 +971,7 @@ TEST(InterpreterCall) {
|
| 0, 1);
|
| builder.LoadNamedProperty(builder.Parameter(0), name, slot_index, i::SLOPPY)
|
| .StoreAccumulatorInRegister(Register(0))
|
| - .Call(Register(0), builder.Parameter(0), 1, 0)
|
| + .Call(Register(0), builder.Parameter(0), 1, 0, tail_call_mode)
|
| .Return();
|
| Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
|
|
|
| @@ -1000,7 +999,7 @@ TEST(InterpreterCall) {
|
| .StoreAccumulatorInRegister(Register(2))
|
| .LoadLiteral(Smi::FromInt(11))
|
| .StoreAccumulatorInRegister(Register(3))
|
| - .Call(Register(0), Register(1), 3, 0)
|
| + .Call(Register(0), Register(1), 3, 0, tail_call_mode)
|
| .Return();
|
| Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
|
|
|
| @@ -1043,7 +1042,7 @@ TEST(InterpreterCall) {
|
| .StoreAccumulatorInRegister(Register(10))
|
| .LoadLiteral(factory->NewStringFromAsciiChecked("j"))
|
| .StoreAccumulatorInRegister(Register(11))
|
| - .Call(Register(0), Register(1), 11, 0)
|
| + .Call(Register(0), Register(1), 11, 0, tail_call_mode)
|
| .Return();
|
| Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray();
|
|
|
| @@ -1064,6 +1063,9 @@ TEST(InterpreterCall) {
|
| }
|
| }
|
|
|
| +TEST(InterpreterCall) { TestInterpreterCall(TailCallMode::kDisallow); }
|
| +
|
| +TEST(InterpreterTailCall) { TestInterpreterCall(TailCallMode::kAllow); }
|
|
|
| static BytecodeArrayBuilder& SetRegister(BytecodeArrayBuilder& builder,
|
| Register reg, int value,
|
|
|