Index: src/compiler/js-operator.cc |
diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc |
index b3d118130e533a39df5b0620fcd13d01cf3fb152..243afb2d775ddd2adf98dfb59db16383fe0de601 100644 |
--- a/src/compiler/js-operator.cc |
+++ b/src/compiler/js-operator.cc |
@@ -293,7 +293,8 @@ std::ostream& operator<<(std::ostream& os, DataPropertyParameters const& p) { |
} |
DataPropertyParameters const& DataPropertyParametersOf(const Operator* op) { |
- DCHECK(op->opcode() == IrOpcode::kJSStoreDataPropertyInLiteral); |
+ DCHECK(op->opcode() == IrOpcode::kJSStoreDataPropertyInLiteral || |
+ op->opcode() == IrOpcode::kJSCollectTypeProfile); |
return OpParameter<DataPropertyParameters>(op); |
} |
@@ -708,6 +709,17 @@ const Operator* JSOperatorBuilder::StoreDataPropertyInLiteral( |
parameters); // parameter |
} |
+const Operator* JSOperatorBuilder::CollectTypeProfile( |
+ const VectorSlotPair& feedback) { |
+ DataPropertyParameters parameters(feedback); |
+ return new (zone()) Operator1<DataPropertyParameters>( // -- |
+ IrOpcode::kJSCollectTypeProfile, |
+ Operator::kNoThrow, // opcode |
+ "JSCollectTypeProfile", // name |
+ 2, 1, 1, 0, 1, 0, // counts |
+ parameters); // parameter |
+} |
+ |
const Operator* JSOperatorBuilder::ToBoolean(ToBooleanHints hints) { |
// TODO(turbofan): Cache most important versions of this operator. |
return new (zone()) Operator1<ToBooleanHints>( //-- |