| Index: src/stub-cache.h
|
| diff --git a/src/stub-cache.h b/src/stub-cache.h
|
| index 2b12321db9feea1274ad95fc885545b1c76a49e5..b26519cbf9e132b98c58709d46f10133b846ab41 100644
|
| --- a/src/stub-cache.h
|
| +++ b/src/stub-cache.h
|
| @@ -172,9 +172,12 @@ class StubCache {
|
| Handle<Map> transition,
|
| StrictModeFlag strict_mode);
|
|
|
| - Handle<Code> ComputeKeyedLoadOrStoreElement(Handle<Map> receiver_map,
|
| - KeyedIC::StubKind stub_kind,
|
| - StrictModeFlag strict_mode);
|
| + Handle<Code> ComputeKeyedLoadElement(Handle<Map> receiver_map);
|
| +
|
| + Handle<Code> ComputeKeyedStoreElement(Handle<Map> receiver_map,
|
| + KeyedStoreIC::StubKind stub_kind,
|
| + StrictModeFlag strict_mode,
|
| + KeyedAccessGrowMode grow_mode);
|
|
|
| // ---
|
|
|
| @@ -234,6 +237,13 @@ class StubCache {
|
| Code::Kind kind,
|
| Code::ExtraICState state);
|
|
|
| + // ---
|
| +
|
| + Handle<Code> ComputeLoadElementPolymorphic(MapHandleList* receiver_maps);
|
| + Handle<Code> ComputeStoreElementPolymorphic(MapHandleList* receiver_maps,
|
| + KeyedAccessGrowMode grow_mode,
|
| + StrictModeFlag strict_mode);
|
| +
|
| // Finds the Code object stored in the Heap::non_monomorphic_cache().
|
| Code* FindCallInitialize(int argc, RelocInfo::Mode mode, Code::Kind kind);
|
|
|
| @@ -666,6 +676,8 @@ class KeyedLoadStubCompiler: public StubCompiler {
|
| Handle<Code> CompileLoadPolymorphic(MapHandleList* receiver_maps,
|
| CodeHandleList* handler_ics);
|
|
|
| + Handle<Code> CompileLoadElementPolymorphic(MapHandleList* receiver_maps);
|
| +
|
| static void GenerateLoadDictionaryElement(MacroAssembler* masm);
|
|
|
| private:
|
| @@ -733,6 +745,8 @@ class KeyedStoreStubCompiler: public StubCompiler {
|
| CodeHandleList* handler_stubs,
|
| MapHandleList* transitioned_maps);
|
|
|
| + Handle<Code> CompileStoreElementPolymorphic(MapHandleList* receiver_maps);
|
| +
|
| static void GenerateStoreFastElement(MacroAssembler* masm,
|
| bool is_js_array,
|
| ElementsKind element_kind,
|
|
|