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(); |
} |