| Index: src/x64/ic-x64.cc
|
| ===================================================================
|
| --- src/x64/ic-x64.cc (revision 2508)
|
| +++ src/x64/ic-x64.cc (working copy)
|
| @@ -285,11 +285,34 @@
|
| Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
|
| }
|
|
|
| +
|
| void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| + // ----------- S t a t e -------------
|
| + // -- rcx : name
|
| + // -- rsp[0] : return address
|
| + // -- rsp[8] : receiver
|
| + // -----------------------------------
|
| +
|
| + __ movq(rax, Operand(rsp, kPointerSize));
|
| +
|
| + // Probe the stub cache.
|
| + Code::Flags flags = Code::ComputeFlags(Code::LOAD_IC,
|
| + NOT_IN_LOOP,
|
| + MONOMORPHIC);
|
| + StubCache::GenerateProbe(masm, flags, rax, rcx, rbx, rdx);
|
| +
|
| + // Cache miss: Jump to runtime.
|
| Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
|
| }
|
|
|
| +
|
| void LoadIC::GenerateMiss(MacroAssembler* masm) {
|
| + // ----------- S t a t e -------------
|
| + // -- rcx : name
|
| + // -- rsp[0] : return address
|
| + // -- rsp[8] : receiver
|
| + // -----------------------------------
|
| +
|
| Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
|
| }
|
|
|
| @@ -302,7 +325,7 @@
|
| }
|
|
|
| bool LoadIC::PatchInlinedLoad(Address address, Object* map, int index) {
|
| - UNIMPLEMENTED();
|
| + // TODO(X64): Implement this function. Until then, the code is not patched.
|
| return false;
|
| }
|
|
|
|
|