| 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
|
|
|