diff options
Diffstat (limited to 'deps/v8/src/ic/handler-compiler.h')
-rw-r--r-- | deps/v8/src/ic/handler-compiler.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/deps/v8/src/ic/handler-compiler.h b/deps/v8/src/ic/handler-compiler.h index 98c12ed7c0..2fe5870ef1 100644 --- a/deps/v8/src/ic/handler-compiler.h +++ b/deps/v8/src/ic/handler-compiler.h @@ -13,16 +13,17 @@ namespace internal { class CallOptimization; class PropertyHandlerCompiler : public PropertyAccessCompiler { - public: - static Handle<Code> Find(Handle<Name> name, Handle<Map> map, Code::Kind kind); - protected: - PropertyHandlerCompiler(Isolate* isolate, Code::Kind kind, Handle<Map> map, + PropertyHandlerCompiler(Isolate* isolate, Type type, Handle<Map> map, Handle<JSObject> holder) - : PropertyAccessCompiler(isolate, kind), map_(map), holder_(holder) {} + : PropertyAccessCompiler(isolate, type), map_(map), holder_(holder) {} virtual ~PropertyHandlerCompiler() {} + // The ICs that don't pass slot and vector through the stack have to + // save/restore them in the dispatcher. + bool ShouldPushPopSlotAndVector(); + virtual Register FrontendHeader(Register object_reg, Handle<Name> name, Label* miss) { UNREACHABLE(); @@ -99,7 +100,7 @@ class PropertyHandlerCompiler : public PropertyAccessCompiler { Register scratch1, Register scratch2, Handle<Name> name, Label* miss); - Handle<Code> GetCode(Code::Kind kind, Handle<Name> name); + Handle<Code> GetCode(Handle<Name> name); Handle<Map> map() const { return map_; } Handle<JSObject> holder() const { return holder_; } @@ -113,7 +114,7 @@ class NamedLoadHandlerCompiler : public PropertyHandlerCompiler { public: NamedLoadHandlerCompiler(Isolate* isolate, Handle<Map> map, Handle<JSObject> holder) - : PropertyHandlerCompiler(isolate, Code::LOAD_IC, map, holder) {} + : PropertyHandlerCompiler(isolate, LOAD, map, holder) {} virtual ~NamedLoadHandlerCompiler() {} @@ -141,7 +142,7 @@ class NamedStoreHandlerCompiler : public PropertyHandlerCompiler { explicit NamedStoreHandlerCompiler(Isolate* isolate, Handle<Map> map, Handle<JSObject> holder) - : PropertyHandlerCompiler(isolate, Code::STORE_IC, map, holder) { + : PropertyHandlerCompiler(isolate, STORE, map, holder) { #ifdef DEBUG if (Descriptor::kPassLastArgsOnStack) { ZapStackArgumentsRegisterAliases(); |