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