Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 7e2ebe4d52730bb7527284523cc310d54f22bd8a..f906a3acf63a45254b9e21be9659c74617e1131b 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -47,6 +47,7 @@ namespace internal { |
V(Compare) \ |
V(CompareIC) \ |
V(MathPow) \ |
+ V(ArrayLength) \ |
V(StringLength) \ |
V(RecordWrite) \ |
V(StoreBufferOverflow) \ |
@@ -557,11 +558,25 @@ class ICStub: public PlatformCodeStub { |
} |
Code::Kind kind() { return kind_; } |
+ virtual int MinorKey() { |
+ return KindBits::encode(kind_); |
+ } |
+ |
private: |
Code::Kind kind_; |
}; |
+class ArrayLengthStub: public ICStub { |
+ public: |
+ explicit ArrayLengthStub(Code::Kind kind) : ICStub(kind) { } |
+ virtual void Generate(MacroAssembler* masm); |
+ |
+ private: |
+ virtual CodeStub::Major MajorKey() { return ArrayLength; } |
+}; |
+ |
+ |
class StringLengthStub: public ICStub { |
public: |
StringLengthStub(Code::Kind kind, bool support_wrapper) |