| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 55d8b885c842326f219eb816289bb42e3f36c965..b243b56093167772c395b22892603a7985964c93 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -53,6 +53,7 @@ namespace internal {
|
| V(CEntry) \
|
| V(JSEntry) \
|
| V(KeyedLoadElement) \
|
| + V(KeyedLoadGeneric) \
|
| V(ArrayNoArgumentConstructor) \
|
| V(ArraySingleArgumentConstructor) \
|
| V(ArrayNArgumentsConstructor) \
|
| @@ -1845,6 +1846,29 @@ class KeyedLoadDictionaryElementPlatformStub : public PlatformCodeStub {
|
| };
|
|
|
|
|
| +class KeyedLoadGenericElementStub : public HydrogenCodeStub {
|
| + public:
|
| + explicit KeyedLoadGenericElementStub(Isolate *isolate)
|
| + : HydrogenCodeStub(isolate) {}
|
| +
|
| + virtual Handle<Code> GenerateCode() V8_OVERRIDE;
|
| +
|
| + virtual void InitializeInterfaceDescriptor(
|
| + CodeStubInterfaceDescriptor* descriptor) V8_OVERRIDE;
|
| +
|
| + static void InstallDescriptors(Isolate* isolate);
|
| +
|
| + virtual Code::Kind GetCodeKind() const { return Code::KEYED_LOAD_IC; }
|
| + virtual InlineCacheState GetICState() { return GENERIC; }
|
| +
|
| + private:
|
| + Major MajorKey() { return KeyedLoadGeneric; }
|
| + int NotMissMinorKey() { return 0; }
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(KeyedLoadGenericElementStub);
|
| +};
|
| +
|
| +
|
| class DoubleToIStub : public PlatformCodeStub {
|
| public:
|
| DoubleToIStub(Isolate* isolate,
|
|
|