Index: src/compiler/js-operator.cc |
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc |
index fa55c40837906bdd7924dd36464606f652bb6eee..481678bc5e2974ac77cbc8f366f17431d5cb8fc6 100644 |
--- a/src/compiler/js-operator.cc |
+++ b/src/compiler/js-operator.cc |
@@ -350,6 +350,7 @@ const CreateArrayParameters& CreateArrayParametersOf(const Operator* op) { |
bool operator==(CreateClosureParameters const& lhs, |
CreateClosureParameters const& rhs) { |
return lhs.pretenure() == rhs.pretenure() && |
+ lhs.feedback() == rhs.feedback() && |
lhs.shared_info().location() == rhs.shared_info().location(); |
} |
@@ -361,7 +362,8 @@ bool operator!=(CreateClosureParameters const& lhs, |
size_t hash_value(CreateClosureParameters const& p) { |
- return base::hash_combine(p.pretenure(), p.shared_info().location()); |
+ return base::hash_combine(p.pretenure(), p.shared_info().location(), |
+ p.feedback()); |
} |
@@ -810,10 +812,10 @@ const Operator* JSOperatorBuilder::CreateArray(size_t arity, |
parameters); // parameter |
} |
- |
const Operator* JSOperatorBuilder::CreateClosure( |
- Handle<SharedFunctionInfo> shared_info, PretenureFlag pretenure) { |
- CreateClosureParameters parameters(shared_info, pretenure); |
+ Handle<SharedFunctionInfo> shared_info, VectorSlotPair const& feedback, |
+ PretenureFlag pretenure) { |
+ CreateClosureParameters parameters(shared_info, feedback, pretenure); |
return new (zone()) Operator1<CreateClosureParameters>( // -- |
IrOpcode::kJSCreateClosure, Operator::kNoThrow, // opcode |
"JSCreateClosure", // name |