| Index: src/interpreter/interpreter.cc
|
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
|
| index 6c7c619fe2181b2ac30809ab7565e31320ba8abb..451a4045256a607f1a5e548cc21a6ab844803777 100644
|
| --- a/src/interpreter/interpreter.cc
|
| +++ b/src/interpreter/interpreter.cc
|
| @@ -1471,7 +1471,12 @@ void Interpreter::DoTailCall(InterpreterAssembler* assembler) {
|
| DoJSCall(assembler, TailCallMode::kAllow);
|
| }
|
|
|
| -void Interpreter::DoCallRuntimeCommon(InterpreterAssembler* assembler) {
|
| +// CallRuntime <function_id> <first_arg> <arg_count>
|
| +//
|
| +// Call the runtime function |function_id| with the first argument in
|
| +// register |first_arg| and |arg_count| arguments in subsequent
|
| +// registers.
|
| +void Interpreter::DoCallRuntime(InterpreterAssembler* assembler) {
|
| Node* function_id = __ BytecodeOperandRuntimeId(0);
|
| Node* first_arg_reg = __ BytecodeOperandReg(1);
|
| Node* first_arg = __ RegisterLocation(first_arg_reg);
|
| @@ -1482,15 +1487,6 @@ void Interpreter::DoCallRuntimeCommon(InterpreterAssembler* assembler) {
|
| __ Dispatch();
|
| }
|
|
|
| -// CallRuntime <function_id> <first_arg> <arg_count>
|
| -//
|
| -// Call the runtime function |function_id| with the first argument in
|
| -// register |first_arg| and |arg_count| arguments in subsequent
|
| -// registers.
|
| -void Interpreter::DoCallRuntime(InterpreterAssembler* assembler) {
|
| - DoCallRuntimeCommon(assembler);
|
| -}
|
| -
|
| // InvokeIntrinsic <function_id> <first_arg> <arg_count>
|
| //
|
| // Implements the semantic equivalent of calling the runtime function
|
| @@ -1508,7 +1504,13 @@ void Interpreter::DoInvokeIntrinsic(InterpreterAssembler* assembler) {
|
| __ Dispatch();
|
| }
|
|
|
| -void Interpreter::DoCallRuntimeForPairCommon(InterpreterAssembler* assembler) {
|
| +// CallRuntimeForPair <function_id> <first_arg> <arg_count> <first_return>
|
| +//
|
| +// Call the runtime function |function_id| which returns a pair, with the
|
| +// first argument in register |first_arg| and |arg_count| arguments in
|
| +// subsequent registers. Returns the result in <first_return> and
|
| +// <first_return + 1>
|
| +void Interpreter::DoCallRuntimeForPair(InterpreterAssembler* assembler) {
|
| // Call the runtime function.
|
| Node* function_id = __ BytecodeOperandRuntimeId(0);
|
| Node* first_arg_reg = __ BytecodeOperandReg(1);
|
| @@ -1528,17 +1530,11 @@ void Interpreter::DoCallRuntimeForPairCommon(InterpreterAssembler* assembler) {
|
| __ Dispatch();
|
| }
|
|
|
| -// CallRuntimeForPair <function_id> <first_arg> <arg_count> <first_return>
|
| +// CallJSRuntime <context_index> <receiver> <arg_count>
|
| //
|
| -// Call the runtime function |function_id| which returns a pair, with the
|
| -// first argument in register |first_arg| and |arg_count| arguments in
|
| -// subsequent registers. Returns the result in <first_return> and
|
| -// <first_return + 1>
|
| -void Interpreter::DoCallRuntimeForPair(InterpreterAssembler* assembler) {
|
| - DoCallRuntimeForPairCommon(assembler);
|
| -}
|
| -
|
| -void Interpreter::DoCallJSRuntimeCommon(InterpreterAssembler* assembler) {
|
| +// Call the JS runtime function that has the |context_index| with the receiver
|
| +// in register |receiver| and |arg_count| arguments in subsequent registers.
|
| +void Interpreter::DoCallJSRuntime(InterpreterAssembler* assembler) {
|
| Node* context_index = __ BytecodeOperandIdx(0);
|
| Node* receiver_reg = __ BytecodeOperandReg(1);
|
| Node* first_arg = __ RegisterLocation(receiver_reg);
|
| @@ -1559,15 +1555,13 @@ void Interpreter::DoCallJSRuntimeCommon(InterpreterAssembler* assembler) {
|
| __ Dispatch();
|
| }
|
|
|
| -// CallJSRuntime <context_index> <receiver> <arg_count>
|
| +// New <constructor> <first_arg> <arg_count>
|
| //
|
| -// Call the JS runtime function that has the |context_index| with the receiver
|
| -// in register |receiver| and |arg_count| arguments in subsequent registers.
|
| -void Interpreter::DoCallJSRuntime(InterpreterAssembler* assembler) {
|
| - DoCallJSRuntimeCommon(assembler);
|
| -}
|
| -
|
| -void Interpreter::DoCallConstruct(InterpreterAssembler* assembler) {
|
| +// Call operator new with |constructor| and the first argument in
|
| +// register |first_arg| and |arg_count| arguments in subsequent
|
| +// registers. The new.target is in the accumulator.
|
| +//
|
| +void Interpreter::DoNew(InterpreterAssembler* assembler) {
|
| Callable ic = CodeFactory::InterpreterPushArgsAndConstruct(isolate_);
|
| Node* new_target = __ GetAccumulator();
|
| Node* constructor_reg = __ BytecodeOperandReg(0);
|
| @@ -1584,16 +1578,6 @@ void Interpreter::DoCallConstruct(InterpreterAssembler* assembler) {
|
| __ Dispatch();
|
| }
|
|
|
| -// New <constructor> <first_arg> <arg_count>
|
| -//
|
| -// Call operator new with |constructor| and the first argument in
|
| -// register |first_arg| and |arg_count| arguments in subsequent
|
| -// registers. The new.target is in the accumulator.
|
| -//
|
| -void Interpreter::DoNew(InterpreterAssembler* assembler) {
|
| - DoCallConstruct(assembler);
|
| -}
|
| -
|
| // TestEqual <src>
|
| //
|
| // Test if the value in the <src> register equals the accumulator.
|
|
|