Chromium Code Reviews| Index: src/code-stubs.h |
| diff --git a/src/code-stubs.h b/src/code-stubs.h |
| index 5eea0a4fe0e4eed8695246e018d2b7c052856cf2..a0e4de3a3cb4b3e0715774eba182a3691c88f6cc 100644 |
| --- a/src/code-stubs.h |
| +++ b/src/code-stubs.h |
| @@ -73,6 +73,9 @@ namespace internal { |
| V(CEntry) \ |
| V(JSEntry) \ |
| V(KeyedLoadElement) \ |
| + V(ArrayNoArgumentConstructor) \ |
| + V(ArraySingleArgumentConstructor) \ |
| + V(ArrayNArgumentsConstructor) \ |
| V(KeyedStoreElement) \ |
| V(DebuggerStatement) \ |
| V(StringDictionaryLookup) \ |
| @@ -1257,6 +1260,63 @@ class TransitionElementsKindStub : public HydrogenCodeStub { |
| }; |
| +class ArrayNoArgumentConstructorStub : public HydrogenCodeStub { |
| + public: |
| + ArrayNoArgumentConstructorStub() { |
| + } |
| + |
| + Major MajorKey() { return ArrayNoArgumentConstructor; } |
| + int MinorKey() { return 0; } |
|
Toon Verwaest
2013/02/13 15:14:51
I guess you don't need to overwrite the MinorKey?
mvstanton
2013/02/19 11:04:08
Actually you do, pure virtual...in the following c
|
| + |
| + virtual Handle<Code> GenerateCode(); |
| + |
| + virtual void InitializeInterfaceDescriptor( |
| + Isolate* isolate, |
| + CodeStubInterfaceDescriptor* descriptor); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(ArrayNoArgumentConstructorStub); |
| +}; |
| + |
| + |
| +class ArraySingleArgumentConstructorStub : public HydrogenCodeStub { |
| + public: |
| + ArraySingleArgumentConstructorStub() { |
| + } |
| + |
| + Major MajorKey() { return ArraySingleArgumentConstructor; } |
| + int MinorKey() { return 0; } |
| + |
| + virtual Handle<Code> GenerateCode(); |
| + |
| + virtual void InitializeInterfaceDescriptor( |
| + Isolate* isolate, |
| + CodeStubInterfaceDescriptor* descriptor); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(ArraySingleArgumentConstructorStub); |
| +}; |
| + |
| + |
| +class ArrayNArgumentsConstructorStub : public HydrogenCodeStub { |
| + public: |
| + ArrayNArgumentsConstructorStub() { |
| + } |
| + |
| + Major MajorKey() { return ArrayNArgumentsConstructor; } |
| + int MinorKey() { return 0; } |
| + |
| + virtual Handle<Code> GenerateCode(); |
| + |
| + virtual void InitializeInterfaceDescriptor( |
| + Isolate* isolate, |
| + CodeStubInterfaceDescriptor* descriptor); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(ArrayNArgumentsConstructorStub); |
| +}; |
| + |
| + |
| class KeyedStoreElementStub : public PlatformCodeStub { |
| public: |
| KeyedStoreElementStub(bool is_js_array, |