Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index e20060f5d9a76affe1857d41972c167bdb8800d7..f287f16cf5f6d52e81227a0fcde1df243996ad56 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -77,6 +77,7 @@ namespace internal { |
V(CEntry) \ |
V(JSEntry) \ |
V(KeyedLoadElement) \ |
+ V(KeyedLoadGeneric) \ |
V(ArrayNoArgumentConstructor) \ |
V(ArraySingleArgumentConstructor) \ |
V(ArrayNArgumentsConstructor) \ |
@@ -1869,6 +1870,29 @@ class KeyedLoadDictionaryElementPlatformStub : public PlatformCodeStub { |
}; |
+class KeyedLoadGenericElementStub : public HydrogenCodeStub { |
+ public: |
+ KeyedLoadGenericElementStub() {} |
+ |
+ virtual Handle<Code> GenerateCode(Isolate* isolate) V8_OVERRIDE; |
+ |
+ virtual void InitializeInterfaceDescriptor( |
+ Isolate* isolate, |
+ CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE; |
+ |
+ static void InstallDescriptors(Isolate* isolate); |
+ |
+ virtual Code::Kind GetCodeKind() const { return Code::KEYED_LOAD_IC; } |
+ virtual InlineCacheState GetICState() { return MEGAMORPHIC; } |
Toon Verwaest
2013/12/04 17:29:26
This should be GENERIC instead of MEGAMORPHIC.
danno
2014/06/06 15:43:50
Done.
|
+ |
+ private: |
+ Major MajorKey() { return KeyedLoadGeneric; } |
+ int NotMissMinorKey() { return 0; } |
+ |
+ DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericElementStub); |
+}; |
+ |
+ |
class DoubleToIStub : public PlatformCodeStub { |
public: |
DoubleToIStub(Register source, |