| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 9d19b710fe9c5d274156b09edfeda24bd6dff360..ed4b065efad25123fe081ad40847db3b36213341 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -2434,22 +2434,36 @@ class HCallFunction FINAL : public HBinaryCall {
|
| DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P3(
|
| HCallFunction, HValue*, int, CallFunctionFlags);
|
|
|
| - HValue* context() { return first(); }
|
| - HValue* function() { return second(); }
|
| + HValue* context() const { return first(); }
|
| + HValue* function() const { return second(); }
|
| CallFunctionFlags function_flags() const { return function_flags_; }
|
|
|
| + FeedbackVectorICSlot slot() const { return slot_; }
|
| + Handle<TypeFeedbackVector> feedback_vector() const {
|
| + return feedback_vector_;
|
| + }
|
| + bool HasVectorAndSlot() const { return !feedback_vector_.is_null(); }
|
| + void SetVectorAndSlot(Handle<TypeFeedbackVector> vector,
|
| + FeedbackVectorICSlot slot) {
|
| + feedback_vector_ = vector;
|
| + slot_ = slot;
|
| + }
|
| +
|
| DECLARE_CONCRETE_INSTRUCTION(CallFunction)
|
|
|
| + std::ostream& PrintDataTo(std::ostream& os) const OVERRIDE; // NOLINT
|
| +
|
| int argument_delta() const OVERRIDE { return -argument_count(); }
|
|
|
| private:
|
| - HCallFunction(HValue* context,
|
| - HValue* function,
|
| - int argument_count,
|
| + HCallFunction(HValue* context, HValue* function, int argument_count,
|
| CallFunctionFlags flags = NO_CALL_FUNCTION_FLAGS)
|
| - : HBinaryCall(context, function, argument_count), function_flags_(flags) {
|
| - }
|
| + : HBinaryCall(context, function, argument_count),
|
| + function_flags_(flags),
|
| + slot_(FeedbackVectorICSlot::Invalid()) {}
|
| CallFunctionFlags function_flags_;
|
| + Handle<TypeFeedbackVector> feedback_vector_;
|
| + FeedbackVectorICSlot slot_;
|
| };
|
|
|
|
|
|
|