| Index: src/ia32/full-codegen-ia32.cc
 | 
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
 | 
| index 15eacdb9582ab915d3225970c042637e11d8ae82..1c7b75443f80bef4bd9c8baeb334fdbe7fb5bc85 100644
 | 
| --- a/src/ia32/full-codegen-ia32.cc
 | 
| +++ b/src/ia32/full-codegen-ia32.cc
 | 
| @@ -2463,7 +2463,8 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
 | 
|  }
 | 
|  
 | 
|  
 | 
| -void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
 | 
| +void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit,
 | 
| +                                                  int* used_store_slots) {
 | 
|    // Constructor is in eax.
 | 
|    DCHECK(lit != NULL);
 | 
|    __ push(eax);
 | 
| @@ -2474,10 +2475,6 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
 | 
|    __ mov(scratch, FieldOperand(eax, JSFunction::kPrototypeOrInitialMapOffset));
 | 
|    __ Push(scratch);
 | 
|  
 | 
| -  // store_slot_index points to the vector IC slot for the next store IC used.
 | 
| -  // ClassLiteral::ComputeFeedbackRequirements controls the allocation of slots
 | 
| -  // and must be updated if the number of store ICs emitted here changes.
 | 
| -  int store_slot_index = 0;
 | 
|    for (int i = 0; i < lit->properties()->length(); i++) {
 | 
|      ObjectLiteral::Property* property = lit->properties()->at(i);
 | 
|      Expression* value = property->value();
 | 
| @@ -2500,7 +2497,7 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
 | 
|  
 | 
|      VisitForStackValue(value);
 | 
|      EmitSetHomeObjectIfNeeded(value, 2,
 | 
| -                              lit->SlotForHomeObject(value, &store_slot_index));
 | 
| +                              lit->SlotForHomeObject(value, used_store_slots));
 | 
|  
 | 
|      switch (property->kind()) {
 | 
|        case ObjectLiteral::Property::CONSTANT:
 | 
| @@ -2528,10 +2525,6 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
 | 
|  
 | 
|    // constructor
 | 
|    __ CallRuntime(Runtime::kToFastProperties, 1);
 | 
| -
 | 
| -  // Verify that compilation exactly consumed the number of store ic slots that
 | 
| -  // the ClassLiteral node had to offer.
 | 
| -  DCHECK(!FLAG_vector_stores || store_slot_index == lit->slot_count());
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |