Index: src/compiler/js-operator.cc |
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc |
index 2173f747ed9b9609829099ce448af1bdf2b21ff5..e4b4fea4ceca75152316add415a05954de729a98 100644 |
--- a/src/compiler/js-operator.cc |
+++ b/src/compiler/js-operator.cc |
@@ -429,6 +429,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(); |
} |
@@ -440,7 +441,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()); |
} |
@@ -912,10 +914,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 |