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