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