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, |