Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index 6013b21faa18477a573f24bfeecc72e84112d054..b19aed1f994b97bef12dd668ef4559c873f99f1d 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -1503,7 +1503,14 @@ void BytecodeGenerator::VisitClassLiteralProperties(ClassLiteral* expr, |
if (property->NeedsSetFunctionName()) { |
flags |= DataPropertyInLiteralFlag::kSetFunctionName; |
} |
- builder()->StoreDataPropertyInLiteral(receiver, key, value, flags); |
+ |
+ FeedbackVectorSlot slot = property->GetStoreDataPropertySlot(); |
+ DCHECK(!slot.IsInvalid()); |
+ |
+ builder() |
+ ->LoadAccumulatorWithRegister(value) |
+ .StoreDataPropertyInLiteral(receiver, key, flags, |
+ feedback_index(slot)); |
break; |
} |
case ClassLiteral::Property::GETTER: { |
@@ -1745,8 +1752,13 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
data_property_flags |= DataPropertyInLiteralFlag::kSetFunctionName; |
} |
- builder()->StoreDataPropertyInLiteral(literal, key, value, |
- data_property_flags); |
+ FeedbackVectorSlot slot = property->GetStoreDataPropertySlot(); |
+ DCHECK(!slot.IsInvalid()); |
+ |
+ builder() |
+ ->LoadAccumulatorWithRegister(value) |
+ .StoreDataPropertyInLiteral(literal, key, data_property_flags, |
+ feedback_index(slot)); |
break; |
} |
case ObjectLiteral::Property::GETTER: |