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