| Index: src/ast/ast.cc
|
| diff --git a/src/ast/ast.cc b/src/ast/ast.cc
|
| index 18abd5a756a44f04eb58dde88e41a9373e7fa488..bfc721b937409b6cdda17719b599822858982ca0 100644
|
| --- a/src/ast/ast.cc
|
| +++ b/src/ast/ast.cc
|
| @@ -367,8 +367,11 @@ void ClassLiteral::AssignFeedbackVectorSlots(Isolate* isolate,
|
| FeedbackVectorSpec* spec,
|
| FeedbackVectorSlotCache* cache) {
|
| // This logic that computes the number of slots needed for vector store
|
| - // ICs must mirror FullCodeGenerator::VisitClassLiteral.
|
| - prototype_slot_ = spec->AddLoadICSlot();
|
| + // ICs must mirror BytecodeGenerator::VisitClassLiteral.
|
| + if (FunctionLiteral::NeedsHomeObject(constructor())) {
|
| + home_object_slot_ = spec->AddStoreICSlot();
|
| + }
|
| +
|
| if (NeedsProxySlot()) {
|
| proxy_slot_ = spec->AddStoreICSlot();
|
| }
|
|
|