Index: src/compiler/js-operator.cc |
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc |
index 2329b951803632d2977a38208f68d5837ee16f99..202627eb0c9316b3e0e3e896c8d43b307bbb8294 100644 |
--- a/src/compiler/js-operator.cc |
+++ b/src/compiler/js-operator.cc |
@@ -54,7 +54,8 @@ ToBooleanHints ToBooleanHintsOf(Operator const* op) { |
bool operator==(CallConstructParameters const& lhs, |
CallConstructParameters const& rhs) { |
- return lhs.arity() == rhs.arity() && lhs.feedback() == rhs.feedback(); |
+ return lhs.arity() == rhs.arity() && lhs.frequency() == rhs.frequency() && |
+ lhs.feedback() == rhs.feedback(); |
} |
@@ -65,12 +66,12 @@ bool operator!=(CallConstructParameters const& lhs, |
size_t hash_value(CallConstructParameters const& p) { |
- return base::hash_combine(p.arity(), p.feedback()); |
+ return base::hash_combine(p.arity(), p.frequency(), p.feedback()); |
} |
std::ostream& operator<<(std::ostream& os, CallConstructParameters const& p) { |
- return os << p.arity(); |
+ return os << p.arity() << ", " << p.frequency(); |
} |
@@ -81,7 +82,8 @@ CallConstructParameters const& CallConstructParametersOf(Operator const* op) { |
std::ostream& operator<<(std::ostream& os, CallFunctionParameters const& p) { |
- os << p.arity() << ", " << p.convert_mode() << ", " << p.tail_call_mode(); |
+ os << p.arity() << ", " << p.frequency() << ", " << p.convert_mode() << ", " |
+ << p.tail_call_mode(); |
return os; |
} |
@@ -590,9 +592,9 @@ const Operator* JSOperatorBuilder::ToBoolean(ToBooleanHints hints) { |
} |
const Operator* JSOperatorBuilder::CallFunction( |
- size_t arity, VectorSlotPair const& feedback, |
+ size_t arity, float frequency, VectorSlotPair const& feedback, |
ConvertReceiverMode convert_mode, TailCallMode tail_call_mode) { |
- CallFunctionParameters parameters(arity, feedback, tail_call_mode, |
+ CallFunctionParameters parameters(arity, frequency, feedback, tail_call_mode, |
convert_mode); |
return new (zone()) Operator1<CallFunctionParameters>( // -- |
IrOpcode::kJSCallFunction, Operator::kNoProperties, // opcode |
@@ -626,10 +628,9 @@ const Operator* JSOperatorBuilder::CallRuntime(const Runtime::Function* f, |
parameters); // parameter |
} |
- |
const Operator* JSOperatorBuilder::CallConstruct( |
- size_t arity, VectorSlotPair const& feedback) { |
- CallConstructParameters parameters(arity, feedback); |
+ uint32_t arity, float frequency, VectorSlotPair const& feedback) { |
+ CallConstructParameters parameters(arity, frequency, feedback); |
return new (zone()) Operator1<CallConstructParameters>( // -- |
IrOpcode::kJSCallConstruct, Operator::kNoProperties, // opcode |
"JSCallConstruct", // name |