| Index: src/ia32/ic-ia32.cc
|
| diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc
|
| index 2973beb3e461a8c53ceef5e6453d1b4e59eb18ce..b034e494ea7bfe06ccaf3e69bf16d40d094d61c9 100644
|
| --- a/src/ia32/ic-ia32.cc
|
| +++ b/src/ia32/ic-ia32.cc
|
| @@ -1112,8 +1112,9 @@ void CallICBase::GenerateMiss(MacroAssembler* masm,
|
|
|
| // Patch the receiver on the stack.
|
| __ bind(&global);
|
| - __ mov(edx, FieldOperand(edx, GlobalObject::kGlobalReceiverOffset));
|
| - __ mov(Operand(esp, (argc + 1) * kPointerSize), edx);
|
| + __ mov(Operand(esp, (argc + 1) * kPointerSize),
|
| + masm->isolate()->factory()->undefined_value());
|
| +
|
| __ bind(&invoke);
|
| }
|
|
|
| @@ -1318,7 +1319,7 @@ void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
|
| }
|
|
|
|
|
| -void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| +void LoadIC::GenerateMegamorphic(MacroAssembler* masm, ContextualMode mode) {
|
| // ----------- S t a t e -------------
|
| // -- ecx : name
|
| // -- edx : receiver
|
| @@ -1326,8 +1327,9 @@ void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| // -----------------------------------
|
|
|
| // Probe the stub cache.
|
| + ExtraICState extra_ic_state = IC::ComputeExtraICState(mode);
|
| Code::Flags flags = Code::ComputeFlags(
|
| - Code::HANDLER, MONOMORPHIC, kNoExtraICState,
|
| + Code::HANDLER, MONOMORPHIC, extra_ic_state,
|
| Code::NORMAL, Code::LOAD_IC);
|
| masm->isolate()->stub_cache()->GenerateProbe(
|
| masm, flags, edx, ecx, ebx, eax);
|
|
|