| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index 81aa6b7c2f0bb27fa8f9a4095b003e42e6640424..1dd701890c4a6294f65d925235b5e6b82afd439e 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -196,7 +196,8 @@ class IC_Utility {
|
| class CallICBase: public IC {
|
| public:
|
| class Contextual: public BitField<bool, 0, 1> {};
|
| - class StringStubState: public BitField<StringStubFeedback, 1, 1> {};
|
| + class ConstructCall: public BitField<bool, 1, 1> {};
|
| + class StringStubState: public BitField<StringStubFeedback, 2, 1> {};
|
|
|
| // Returns a JSFunction or a Failure.
|
| MUST_USE_RESULT MaybeObject* LoadFunction(State state,
|
| @@ -243,7 +244,9 @@ class CallICBase: public IC {
|
| IC::UtilityId id,
|
| Code::ExtraICState extra_state);
|
|
|
| - static void GenerateNormal(MacroAssembler* masm, int argc);
|
| + static void GenerateNormal(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state);
|
|
|
| static void GenerateMonomorphicCacheProbe(MacroAssembler* masm,
|
| int argc,
|
| @@ -279,9 +282,11 @@ class CallIC: public CallICBase {
|
| int argc,
|
| Code::ExtraICState extra_ic_state);
|
|
|
| - static void GenerateNormal(MacroAssembler* masm, int argc) {
|
| - CallICBase::GenerateNormal(masm, argc);
|
| - GenerateMiss(masm, argc, Code::kNoExtraICState);
|
| + static void GenerateNormal(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state) {
|
| + CallICBase::GenerateNormal(masm, argc, extra_state);
|
| + GenerateMiss(masm, argc, extra_state);
|
| }
|
| };
|
|
|
| @@ -294,22 +299,34 @@ class KeyedCallIC: public CallICBase {
|
| }
|
|
|
| MUST_USE_RESULT MaybeObject* LoadFunction(State state,
|
| + Code::ExtraICState extra_ic_state,
|
| Handle<Object> object,
|
| Handle<Object> key);
|
|
|
| // Code generator routines.
|
| - static void GenerateInitialize(MacroAssembler* masm, int argc) {
|
| - GenerateMiss(masm, argc);
|
| + static void GenerateInitialize(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state) {
|
| + GenerateMiss(masm, argc, extra_state);
|
| }
|
|
|
| - static void GenerateMiss(MacroAssembler* masm, int argc) {
|
| - CallICBase::GenerateMiss(masm, argc, IC::kKeyedCallIC_Miss,
|
| - Code::kNoExtraICState);
|
| + static void GenerateMiss(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state) {
|
| + CallICBase::GenerateMiss(masm, argc, IC::kKeyedCallIC_Miss, extra_state);
|
| }
|
|
|
| - static void GenerateMegamorphic(MacroAssembler* masm, int argc);
|
| - static void GenerateNormal(MacroAssembler* masm, int argc);
|
| - static void GenerateNonStrictArguments(MacroAssembler* masm, int argc);
|
| + static void GenerateMegamorphic(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state);
|
| +
|
| + static void GenerateNormal(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state);
|
| +
|
| + static void GenerateNonStrictArguments(MacroAssembler* masm,
|
| + int argc,
|
| + Code::ExtraICState extra_state);
|
| };
|
|
|
|
|
|
|