| Index: src/ic.h
|
| ===================================================================
|
| --- src/ic.h (revision 1804)
|
| +++ src/ic.h (working copy)
|
| @@ -216,6 +216,11 @@
|
| static void GenerateStringLength(MacroAssembler* masm);
|
| static void GenerateFunctionPrototype(MacroAssembler* masm);
|
|
|
| + // The offset from the inlined patch site to the start of the
|
| + // inlined load instruction. It is 7 bytes (test eax, imm) plus
|
| + // 6 bytes (jne slow_label).
|
| + static const int kOffsetToLoadInstruction = 13;
|
| +
|
| private:
|
| static void Generate(MacroAssembler* masm, const ExternalReference& f);
|
|
|
| @@ -238,6 +243,12 @@
|
| }
|
|
|
| static void Clear(Address address, Code* target);
|
| +
|
| + // Clear the use of the inlined version.
|
| + static void ClearInlinedVersion(Address address);
|
| +
|
| + static bool PatchInlinedLoad(Address address, Object* map, int index);
|
| +
|
| friend class IC;
|
| };
|
|
|
| @@ -254,9 +265,6 @@
|
| static void GeneratePreMonomorphic(MacroAssembler* masm);
|
| static void GenerateGeneric(MacroAssembler* masm);
|
|
|
| - // Check if this IC corresponds to an inlined version.
|
| - static bool HasInlinedVersion(Address address);
|
| -
|
| // Clear the use of the inlined version.
|
| static void ClearInlinedVersion(Address address);
|
|
|
| @@ -287,7 +295,7 @@
|
|
|
| // Support for patching the map that is checked in an inlined
|
| // version of keyed load.
|
| - static void PatchInlinedMapCheck(Address address, Object* map);
|
| + static bool PatchInlinedLoad(Address address, Object* map);
|
|
|
| friend class IC;
|
| };
|
|
|