Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 68e90d97ef99432944cc67dccd071be2931f9505..1df3708019d00f2c56428407105ae26b99ac1db0 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) \ |
@@ -556,10 +557,24 @@ class ICStub: public PlatformCodeStub { |
code->set_stub_info(MinorKey()); |
} |
+ virtual int MinorKey() { |
+ return KindBits::encode(kind_); |
+ } |
+ |
Code::Kind kind_; |
Jakob Kummerow
2013/01/21 16:35:15
again, make the field private and define a protect
Toon Verwaest
2013/01/21 17:16:17
Done.
|
}; |
+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) |