|
static Condition | ComputeCondition (Token::Value op) |
|
static Handle< Code > | GetUninitialized (Isolate *isolate, Token::Value op) |
|
static Address | AddressFromUtilityId (UtilityId id) |
|
static void | RegisterWeakMapDependency (Handle< Code > stub) |
|
static void | InvalidateMaps (Code *stub) |
|
static void | Clear (Isolate *isolate, Address address, ConstantPoolArray *constant_pool) |
|
template<class TypeClass > |
static JSFunction * | GetRootConstructor (TypeClass *type, Context *native_context) |
|
static Handle< Map > | GetHandlerCacheHolder (HeapType *type, bool receiver_is_holder, Isolate *isolate, CacheHolderFlag *flag) |
|
static Handle< Map > | GetICCacheHolder (HeapType *type, Isolate *isolate, CacheHolderFlag *flag) |
|
static bool | IsCleared (Code *code) |
|
static Handle< Map > | TypeToMap (HeapType *type, Isolate *isolate) |
|
template<class T > |
static T::TypeHandle | MapToType (Handle< Map > map, typename T::Region *region) |
|
static Handle< HeapType > | CurrentTypeOf (Handle< Object > object, Isolate *isolate) |
|
|
enum | UtilityId { kUtilityCount
} |
|
enum | FrameDepth { NO_EXTRA_FRAME = 0
, EXTRA_CALL_FRAME = 1
} |
|
typedef InlineCacheState | State |
|
Handle< Code > | target () const |
|
Address | fp () const |
|
Address | pc () const |
|
Isolate * | isolate () const |
|
SharedFunctionInfo * | GetSharedFunctionInfo () const |
|
Code * | GetCode () const |
|
Code * | GetOriginalCode () const |
|
void | set_target (Code *code) |
|
bool | is_target_set () |
|
char | TransitionMarkFromState (IC::State state) |
|
void | TraceIC (const char *type, Handle< Object > name) |
|
void | TraceIC (const char *type, Handle< Object > name, State old_state, State new_state) |
|
MaybeHandle< Object > | TypeError (const char *type, Handle< Object > object, Handle< Object > key) |
|
MaybeHandle< Object > | ReferenceError (const char *type, Handle< Name > name) |
|
Handle< Code > | ComputeHandler (LookupIterator *lookup, Handle< Object > value=Handle< Code >::null()) |
|
virtual Handle< Code > | CompileHandler (LookupIterator *lookup, Handle< Object > value, CacheHolderFlag cache_holder) |
|
void | UpdateMonomorphicIC (Handle< Code > handler, Handle< Name > name) |
|
bool | UpdatePolymorphicIC (Handle< Name > name, Handle< Code > code) |
|
void | UpdateMegamorphicCache (HeapType *type, Name *name, Code *code) |
|
void | CopyICToMegamorphicCache (Handle< Name > name) |
|
bool | IsTransitionOfMonomorphicTarget (Map *source_map, Map *target_map) |
|
void | PatchCache (Handle< Name > name, Handle< Code > code) |
|
Code::Kind | kind () const |
|
Code::Kind | handler_kind () const |
|
virtual Handle< Code > | megamorphic_stub () |
|
bool | TryRemoveInvalidPrototypeDependentStub (Handle< Object > receiver, Handle< String > name) |
|
ExtraICState | extra_ic_state () const |
|
void | set_extra_ic_state (ExtraICState state) |
|
Handle< HeapType > | receiver_type () |
|
void | update_receiver_type (Handle< Object > receiver) |
|
void | TargetMaps (MapHandleList *list) |
|
void | TargetTypes (TypeHandleList *list) |
|
Map * | FirstTargetMap () |
|
void | UpdateTarget () |
|
static Code * | GetTargetAtAddress (Address address, ConstantPoolArray *constant_pool) |
|
static void | SetTargetAtAddress (Address address, Code *target, ConstantPoolArray *constant_pool) |
|
static void | OnTypeFeedbackChanged (Isolate *isolate, Address address, State old_state, State new_state, bool target_remains_ic_stub) |
|
static void | PostPatching (Address address, Code *target, Code *old_target) |
|
Definition at line 616 of file ic.h.
Definition at line 2335 of file ic.cc.
2343 old_stub.state(), old_stub.left(), old_stub.right(),
op_,
2350 Handle<Code> new_target = stub.GetCode();
2353 if (FLAG_trace_ic) {
2354 PrintF(
"[CompareIC in ");
2356 PrintF(
" ((%s+%s=%s)->(%s+%s=%s))#%s @ %p]\n",
2363 static_cast<void*
>(*stub.GetCode()));
static const char * GetStateName(CompareICState::State state)
static State NewInputState(State old_state, Handle< Object > value)
static State TargetState(State old_state, State old_left, State old_right, Token::Value op, bool has_inlined_smi_code, Handle< Object > x, Handle< Object > y)
static bool HasInlinedSmiCode(Address address)
static Handle< T > cast(Handle< S > that)
void set_target(Code *code)
static void PrintTop(Isolate *isolate, FILE *file, bool print_args, bool print_line_number)
static const char * Name(Value tok)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf map
@ ENABLE_INLINED_SMI_CHECK
void PrintF(const char *format,...)
References v8::internal::IC::address(), v8::internal::ENABLE_INLINED_SMI_CHECK, v8::internal::CompareICState::GetStateName(), HasInlinedSmiCode(), v8::internal::IC::isolate(), v8::internal::CompareICState::KNOWN_OBJECT, v8::internal::CompareICStub::left(), map, v8::internal::Token::Name(), v8::internal::CompareICState::NewInputState(), op_, v8::internal::PatchInlinedSmiCode(), v8::internal::PrintF(), v8::internal::JavaScriptFrame::PrintTop(), v8::internal::CompareICStub::right(), v8::internal::CompareICStub::set_known_map(), v8::internal::IC::set_target(), v8::internal::CompareICStub::state(), v8::internal::IC::state(), v8::internal::IC::target(), v8::internal::CompareICState::TargetState(), v8::internal::CompareICState::UNINITIALIZED, and v8::base::internal::y.
Referenced by v8::internal::RUNTIME_FUNCTION().