| Index: src/compiler/js-operator.cc
|
| diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc
|
| index f48373f08520e1412b6805d2fa8109c950e96752..bebc1cfe3a0903f90867729e60e2e8277f9dece3 100644
|
| --- a/src/compiler/js-operator.cc
|
| +++ b/src/compiler/js-operator.cc
|
| @@ -157,6 +157,17 @@ const CallParameters& CallParametersOf(const Operator* op) {
|
| }
|
|
|
| std::ostream& operator<<(std::ostream& os,
|
| + CallVarargsParameters const& p) {
|
| + return os << p.arity();
|
| +}
|
| +
|
| +CallVarargsParameters const& CallVarargsParametersOf(
|
| + Operator const* op) {
|
| + DCHECK_EQ(IrOpcode::kJSCallVarargs, op->opcode());
|
| + return OpParameter<CallVarargsParameters>(op);
|
| +}
|
| +
|
| +std::ostream& operator<<(std::ostream& os,
|
| CallForwardVarargsParameters const& p) {
|
| return os << p.arity() << ", " << p.start_index() << ", "
|
| << p.tail_call_mode();
|
| @@ -804,16 +815,6 @@ const Operator* JSOperatorBuilder::ToBoolean(ToBooleanHints hints) {
|
| hints); // parameter
|
| }
|
|
|
| -const Operator* JSOperatorBuilder::CallForwardVarargs(
|
| - size_t arity, uint32_t start_index, TailCallMode tail_call_mode) {
|
| - CallForwardVarargsParameters parameters(arity, start_index, tail_call_mode);
|
| - return new (zone()) Operator1<CallForwardVarargsParameters>( // --
|
| - IrOpcode::kJSCallForwardVarargs, Operator::kNoProperties, // opcode
|
| - "JSCallForwardVarargs", // name
|
| - parameters.arity(), 1, 1, 1, 1, 2, // counts
|
| - parameters); // parameter
|
| -}
|
| -
|
| const Operator* JSOperatorBuilder::Call(size_t arity, CallFrequency frequency,
|
| VectorSlotPair const& feedback,
|
| ConvertReceiverMode convert_mode,
|
| @@ -827,6 +828,26 @@ const Operator* JSOperatorBuilder::Call(size_t arity, CallFrequency frequency,
|
| parameters); // parameter
|
| }
|
|
|
| +const Operator* JSOperatorBuilder::CallForwardVarargs(
|
| + size_t arity, uint32_t start_index, TailCallMode tail_call_mode) {
|
| + CallForwardVarargsParameters parameters(arity, start_index, tail_call_mode);
|
| + return new (zone()) Operator1<CallForwardVarargsParameters>( // --
|
| + IrOpcode::kJSCallForwardVarargs, Operator::kNoProperties, // opcode
|
| + "JSCallForwardVarargs", // name
|
| + parameters.arity(), 1, 1, 1, 1, 2, // counts
|
| + parameters); // parameter
|
| +}
|
| +
|
| +const Operator* JSOperatorBuilder::CallVarargs(
|
| + size_t arity) {
|
| + CallVarargsParameters parameters(arity);
|
| + return new (zone()) Operator1<CallVarargsParameters>( // --
|
| + IrOpcode::kJSCallVarargs, Operator::kNoProperties, // opcode
|
| + "JSCallVarargs", // name
|
| + parameters.arity() + 2, 1, 1, 1, 1, 2, // counts
|
| + parameters); // parameter
|
| +}
|
| +
|
| const Operator* JSOperatorBuilder::CallWithArrayLike(CallFrequency frequency) {
|
| return new (zone()) Operator1<CallFrequency>( // --
|
| IrOpcode::kJSCallWithArrayLike, Operator::kNoProperties, // opcode
|
|
|