Index: src/interpreter/bytecode-array-builder.h |
diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h |
index 9cd44212ca2f8513b6015299a1ebeea0697a429e..37c5fe966fd2eb6e2eb0dc053918bedc641e73f2 100644 |
--- a/src/interpreter/bytecode-array-builder.h |
+++ b/src/interpreter/bytecode-array-builder.h |
@@ -163,18 +163,28 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover { |
// <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); |
} |
+ // 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>. |
+ // Call through CallICStub to get Typefeedback. |
+ BytecodeArrayBuilder& CallIC(Register callable, Register receiver_args, |
+ size_t receiver_arg_count, int feedback_slot, |
+ TailCallMode tail_call_mode); |
+ |
// Call the new operator. The accumulator holds the |new_target|. |
// The |constructor| is in a register followed by |arg_count| |
// consecutive arguments starting at |first_arg| for the constuctor |
// invocation. |
+ |
BytecodeArrayBuilder& New(Register constructor, Register first_arg, |
size_t arg_count); |
@@ -288,6 +298,7 @@ class BytecodeArrayBuilder final : public ZoneObject, private RegisterMover { |
static Bytecode BytecodeForCreateArguments(CreateArgumentsType type); |
static Bytecode BytecodeForDelete(LanguageMode language_mode); |
static Bytecode BytecodeForCall(TailCallMode tail_call_mode); |
+ static Bytecode BytecodeForCallIC(TailCallMode tail_call_mode); |
static bool FitsInIdx8Operand(int value); |
static bool FitsInIdx8Operand(size_t value); |