| Index: src/interpreter/bytecode-array-builder.h
|
| diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
|
| index cb3fed9f99a8ff5a29b75dd4aefce22af457aec4..23a301bb9c5806501b2e12fa10a9dc17d019917f 100644
|
| --- a/src/interpreter/bytecode-array-builder.h
|
| +++ b/src/interpreter/bytecode-array-builder.h
|
| @@ -152,14 +152,31 @@ class BytecodeArrayBuilder final : public ZoneObject {
|
| // Call a JS function. The JSFunction or Callable to be called should be in
|
| // |callable|, the receiver should be in |receiver_args| and all subsequent
|
| // arguments should be in registers <receiver_args + 1> to
|
| + // <receiver_args + receiver_arg_count - 1>. Type feedback is recorded in
|
| + // the |feedback_slot| in the type feedback vector.
|
| + BytecodeArrayBuilder& CallWithFeedback(
|
| + Register callable, Register receiver_args, size_t receiver_arg_count,
|
| + int feedback_slot, TailCallMode tail_call_mode = TailCallMode::kDisallow);
|
| +
|
| + BytecodeArrayBuilder& TailCallWithFeedback(Register callable,
|
| + Register receiver_args,
|
| + size_t receiver_arg_count,
|
| + int feedback_slot) {
|
| + return CallWithFeedback(callable, receiver_args, receiver_arg_count,
|
| + feedback_slot, TailCallMode::kAllow);
|
| + }
|
| +
|
| + // Call a JS function. The JSFunction or Callable to be called should be in
|
| + // |callable|, the receiver should be in |receiver_args| and all subsequent
|
| + // arguments should be in registers <receiver_args + 1> to
|
| // <receiver_args + receiver_arg_count - 1>.
|
| BytecodeArrayBuilder& Call(
|
| Register callable, Register receiver_args, size_t receiver_arg_count,
|
| - int feedback_slot, TailCallMode tail_call_mode = TailCallMode::kDisallow);
|
| + TailCallMode tail_call_mode = TailCallMode::kDisallow);
|
|
|
| BytecodeArrayBuilder& TailCall(Register callable, Register receiver_args,
|
| - size_t receiver_arg_count, int feedback_slot) {
|
| - return Call(callable, receiver_args, receiver_arg_count, feedback_slot,
|
| + size_t receiver_arg_count) {
|
| + return Call(callable, receiver_args, receiver_arg_count,
|
| TailCallMode::kAllow);
|
| }
|
|
|
| @@ -303,6 +320,7 @@ class BytecodeArrayBuilder final : public ZoneObject {
|
| static Bytecode BytecodeForCreateArguments(CreateArgumentsType type);
|
| static Bytecode BytecodeForDelete(LanguageMode language_mode);
|
| static Bytecode BytecodeForCall(TailCallMode tail_call_mode);
|
| + static Bytecode BytecodeForCallWithFeedback(TailCallMode tail_call_mode);
|
|
|
| void Output(Bytecode bytecode, uint32_t operand0, uint32_t operand1,
|
| uint32_t operand2, uint32_t operand3);
|
|
|