| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 973818470d9778dfc42a5efe61063d13e26a4329..f50abda45ff23227cc6d03723b62dde3d5748cfc 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -899,14 +899,26 @@ class CallIC_ArrayStub: public CallICStub {
|
| };
|
|
|
|
|
| -class FunctionPrototypeStub: public ICStub {
|
| +// TODO(verwaest): Translate to hydrogen code stub.
|
| +class FunctionPrototypeStub : public PlatformCodeStub {
|
| public:
|
| FunctionPrototypeStub(Isolate* isolate, Code::Kind kind)
|
| - : ICStub(isolate, kind) { }
|
| + : PlatformCodeStub(isolate) {
|
| + bit_field_ = KindBits::encode(kind);
|
| + }
|
| virtual void Generate(MacroAssembler* masm);
|
| + virtual Code::Kind GetCodeKind() const { return Code::HANDLER; }
|
| + virtual InlineCacheState GetICState() { return MONOMORPHIC; }
|
| + virtual ExtraICState GetExtraICState() const { return kind(); }
|
| +
|
| + protected:
|
| + class KindBits : public BitField<Code::Kind, 0, 4> {};
|
| + virtual Code::Kind kind() const { return KindBits::decode(bit_field_); }
|
|
|
| private:
|
| virtual CodeStub::Major MajorKey() const { return FunctionPrototype; }
|
| + virtual int MinorKey() const { return bit_field_; }
|
| + int bit_field_;
|
| };
|
|
|
|
|
|
|