V8 Project
|
#include <handler-compiler.h>
Static Public Member Functions | |
static Handle< Code > | Find (Handle< Name > name, Handle< Map > map, Code::Kind kind, CacheHolderFlag cache_holder, Code::StubType type) |
Protected Member Functions | |
PropertyHandlerCompiler (Isolate *isolate, Code::Kind kind, Handle< HeapType > type, Handle< JSObject > holder, CacheHolderFlag cache_holder) | |
virtual | ~PropertyHandlerCompiler () |
virtual Register | FrontendHeader (Register object_reg, Handle< Name > name, Label *miss) |
virtual void | FrontendFooter (Handle< Name > name, Label *miss) |
Register | Frontend (Register object_reg, Handle< Name > name) |
void | NonexistentFrontendHeader (Handle< Name > name, Label *miss, Register scratch1, Register scratch2) |
Register | CheckPrototypes (Register object_reg, Register holder_reg, Register scratch1, Register scratch2, Handle< Name > name, Label *miss, PrototypeCheckType check=CHECK_ALL_MAPS) |
Handle< Code > | GetCode (Code::Kind kind, Code::StubType type, Handle< Name > name) |
void | set_type_for_object (Handle< Object > object) |
void | set_holder (Handle< JSObject > holder) |
Handle< HeapType > | type () const |
Handle< JSObject > | holder () const |
Static Protected Member Functions | |
static void | GenerateFastApiCall (MacroAssembler *masm, const CallOptimization &optimization, Handle< Map > receiver_map, Register receiver, Register scratch, bool is_store, int argc, Register *values) |
static void | GenerateDictionaryNegativeLookup (MacroAssembler *masm, Label *miss_label, Register receiver, Handle< Name > name, Register r0, Register r1) |
static void | GenerateCheckPropertyCell (MacroAssembler *masm, Handle< JSGlobalObject > global, Handle< Name > name, Register scratch, Label *miss) |
Private Attributes | |
Handle< HeapType > | type_ |
Handle< JSObject > | holder_ |
Definition at line 18 of file handler-compiler.h.
|
inlineprotected |
Definition at line 24 of file handler-compiler.h.
|
inlineprotectedvirtual |
Definition at line 31 of file handler-compiler.h.
|
protected |
Referenced by v8::internal::NamedLoadHandlerCompiler::FrontendHeader(), and v8::internal::NamedStoreHandlerCompiler::FrontendHeader().
|
static |
Definition at line 16 of file handler-compiler.cc.
References v8::internal::Code::ComputeHandlerFlags(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::handle(), name, v8::internal::Handle< T >::null(), and type().
Referenced by v8::internal::IC::ComputeHandler(), and v8::internal::NamedLoadHandlerCompiler::ComputeLoadNonexistent().
|
protected |
Definition at line 132 of file handler-compiler.cc.
References FrontendFooter(), FrontendHeader(), and name.
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), v8::internal::NamedLoadHandlerCompiler::CompileLoadConstant(), v8::internal::NamedLoadHandlerCompiler::CompileLoadField(), v8::internal::NamedLoadHandlerCompiler::CompileLoadInterceptor(), v8::internal::NamedLoadHandlerCompiler::CompileLoadViaGetter(), v8::internal::NamedStoreHandlerCompiler::CompileStoreCallback(), v8::internal::NamedStoreHandlerCompiler::CompileStoreViaSetter(), and v8::internal::NamedLoadHandlerCompiler::GenerateLoadPostInterceptor().
|
inlineprotectedvirtual |
Reimplemented in v8::internal::NamedStoreHandlerCompiler, and v8::internal::NamedLoadHandlerCompiler.
Definition at line 39 of file handler-compiler.h.
References UNREACHABLE.
Referenced by Frontend().
|
inlineprotectedvirtual |
Reimplemented in v8::internal::NamedStoreHandlerCompiler, and v8::internal::NamedLoadHandlerCompiler.
Definition at line 33 of file handler-compiler.h.
References UNREACHABLE.
Referenced by Frontend(), and NonexistentFrontendHeader().
|
staticprotected |
|
staticprotected |
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), and v8::internal::NamedStoreHandlerCompiler::CompileStoreCallback().
|
protected |
Definition at line 72 of file handler-compiler.cc.
References v8::internal::Code::ComputeHandlerFlags(), v8::internal::anonymous_namespace{flags.cc}::flags, name, PROFILE, and type().
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), v8::internal::NamedLoadHandlerCompiler::CompileLoadConstant(), v8::internal::NamedLoadHandlerCompiler::CompileLoadField(), v8::internal::NamedLoadHandlerCompiler::CompileLoadInterceptor(), v8::internal::NamedLoadHandlerCompiler::CompileLoadNonexistent(), v8::internal::NamedLoadHandlerCompiler::CompileLoadViaGetter(), v8::internal::NamedStoreHandlerCompiler::CompileStoreCallback(), v8::internal::NamedStoreHandlerCompiler::CompileStoreField(), v8::internal::NamedStoreHandlerCompiler::CompileStoreTransition(), and v8::internal::NamedStoreHandlerCompiler::CompileStoreViaSetter().
Definition at line 92 of file handler-compiler.h.
References holder_.
Referenced by v8::internal::NamedStoreHandlerCompiler::CompileStoreTransition(), v8::internal::NamedLoadHandlerCompiler::GenerateLoadPostInterceptor(), NonexistentFrontendHeader(), and set_holder().
|
protected |
Definition at line 141 of file handler-compiler.cc.
References v8::internal::Handle< T >::cast(), DCHECK, FrontendHeader(), GenerateCheckPropertyCell(), GenerateDictionaryNegativeLookup(), v8::internal::handle(), holder(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, map, name, type(), and v8::internal::IC::TypeToMap().
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadNonexistent(), and v8::internal::NamedStoreHandlerCompiler::CompileStoreTransition().
Definition at line 90 of file handler-compiler.h.
References holder(), and holder_.
Referenced by v8::internal::NamedStoreHandlerCompiler::CompileStoreTransition(), and v8::internal::NamedLoadHandlerCompiler::GenerateLoadPostInterceptor().
|
protected |
Definition at line 82 of file handler-compiler.cc.
References v8::internal::IC::CurrentTypeOf(), and type_.
Referenced by v8::internal::NamedLoadHandlerCompiler::FrontendHeader(), and v8::internal::NamedLoadHandlerCompiler::GenerateLoadPostInterceptor().
Definition at line 91 of file handler-compiler.h.
References type_.
Referenced by v8::internal::NamedLoadHandlerCompiler::CompileLoadCallback(), v8::internal::NamedLoadHandlerCompiler::CompileLoadInterceptor(), v8::internal::NamedLoadHandlerCompiler::CompileLoadViaGetter(), v8::internal::NamedStoreHandlerCompiler::CompileStoreViaSetter(), v8::internal::NamedLoadHandlerCompiler::ComputeLoadNonexistent(), Find(), v8::internal::NamedLoadHandlerCompiler::FrontendHeader(), GetCode(), and NonexistentFrontendHeader().
Definition at line 96 of file handler-compiler.h.
Referenced by holder(), and set_holder().
Definition at line 95 of file handler-compiler.h.
Referenced by set_type_for_object(), and type().