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