| Index: src/a64/ic-a64.cc
|
| diff --git a/src/a64/ic-a64.cc b/src/a64/ic-a64.cc
|
| index 6d72d02ae7b4cd726fdc55407a8e3de8c4e2c18b..8684bf2d63ad74f3a2c44061634529becbdd0d49 100644
|
| --- a/src/a64/ic-a64.cc
|
| +++ b/src/a64/ic-a64.cc
|
| @@ -585,7 +585,7 @@ void CallICBase::GenerateMiss(MacroAssembler* masm,
|
|
|
| // Patch the receiver on the stack.
|
| __ Bind(&global);
|
| - __ Ldr(x2, FieldMemOperand(x2, GlobalObject::kGlobalReceiverOffset));
|
| + __ LoadRoot(x2, Heap::kUndefinedValueRootIndex);
|
| __ Poke(x2, argc * kXRegSizeInBytes);
|
| __ Bind(&invoke);
|
| }
|
| @@ -787,7 +787,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 -------------
|
| // -- x2 : name
|
| // -- lr : return address
|
| @@ -795,8 +795,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, x0, x2, x3, x4, x5, x6);
|
|
|