| Index: src/builtins.cc
 | 
| diff --git a/src/builtins.cc b/src/builtins.cc
 | 
| index 0373cdc7f24be1ddfd60406cfc48d18f01264ae7..8fdc1b138251be068c269552be82ca538a6236c4 100644
 | 
| --- a/src/builtins.cc
 | 
| +++ b/src/builtins.cc
 | 
| @@ -1307,6 +1307,11 @@ static void Generate_StoreIC_Initialize(MacroAssembler* masm) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static void Generate_StoreIC_Initialize_Strict(MacroAssembler* masm) {
 | 
| +  StoreIC::GenerateInitialize(masm);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  static void Generate_StoreIC_Miss(MacroAssembler* masm) {
 | 
|    StoreIC::GenerateMiss(masm);
 | 
|  }
 | 
| @@ -1317,8 +1322,18 @@ static void Generate_StoreIC_Normal(MacroAssembler* masm) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static void Generate_StoreIC_Normal_Strict(MacroAssembler* masm) {
 | 
| +  StoreIC::GenerateNormal(masm);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  static void Generate_StoreIC_Megamorphic(MacroAssembler* masm) {
 | 
| -  StoreIC::GenerateMegamorphic(masm);
 | 
| +  StoreIC::GenerateMegamorphic(masm, StoreIC::kStoreICNonStrict);
 | 
| +}
 | 
| +
 | 
| +
 | 
| +static void Generate_StoreIC_Megamorphic_Strict(MacroAssembler* masm) {
 | 
| +  StoreIC::GenerateMegamorphic(masm, StoreIC::kStoreICStrict);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -1327,11 +1342,21 @@ static void Generate_StoreIC_ArrayLength(MacroAssembler* masm) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static void Generate_StoreIC_ArrayLength_Strict(MacroAssembler* masm) {
 | 
| +  StoreIC::GenerateArrayLength(masm);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  static void Generate_StoreIC_GlobalProxy(MacroAssembler* masm) {
 | 
|    StoreIC::GenerateGlobalProxy(masm);
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static void Generate_StoreIC_GlobalProxy_Strict(MacroAssembler* masm) {
 | 
| +  StoreIC::GenerateGlobalProxy(masm);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  static void Generate_KeyedStoreIC_Generic(MacroAssembler* masm) {
 | 
|    KeyedStoreIC::GenerateGeneric(masm);
 | 
|  }
 | 
| @@ -1444,13 +1469,13 @@ void Builtins::Setup(bool create_heap_objects) {
 | 
|        extra_args                                  \
 | 
|      },
 | 
|  
 | 
| -#define DEF_FUNCTION_PTR_A(name, kind, state)              \
 | 
| -    { FUNCTION_ADDR(Generate_##name),                      \
 | 
| -      NULL,                                                \
 | 
| -      #name,                                               \
 | 
| -      name,                                                \
 | 
| -      Code::ComputeFlags(Code::kind, NOT_IN_LOOP, state),  \
 | 
| -      NO_EXTRA_ARGUMENTS                                   \
 | 
| +#define DEF_FUNCTION_PTR_A(name, kind, state, extra)              \
 | 
| +    { FUNCTION_ADDR(Generate_##name),                             \
 | 
| +      NULL,                                                       \
 | 
| +      #name,                                                      \
 | 
| +      name,                                                       \
 | 
| +      Code::ComputeFlags(Code::kind, NOT_IN_LOOP, state, extra),  \
 | 
| +      NO_EXTRA_ARGUMENTS                                          \
 | 
|      },
 | 
|  
 | 
|    // Define array of pointers to generators and C builtin functions.
 | 
| 
 |