V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::IC Class Reference
Inheritance diagram for v8::internal::IC:
v8::internal::LoadIC v8::internal::StoreIC v8::internal::KeyedLoadIC v8::internal::LoadGlobalIC v8::internal::KeyedStoreIC v8::internal::StoreGlobalIC v8::internal::StoreInArrayLiteralIC

Public Types

typedef InlineCacheState State
 

Public Member Functions

 IC (Isolate *isolate, Handle< FeedbackVector > vector, FeedbackSlot slot)
 
State state () const
 
Address address () const
 
void UpdateState (Handle< Object > receiver, Handle< Object > name)
 
bool RecomputeHandlerForName (Handle< Object > name)
 
void MarkRecomputeHandler (Handle< Object > name)
 
bool IsAnyLoad () const
 
bool IsAnyStore () const
 

Static Public Member Functions

static bool IsHandler (MaybeObject object)
 
static void OnFeedbackChanged (Isolate *isolate, FeedbackVector *vector, FeedbackSlot slot, JSFunction *host_function, const char *reason)
 
static void OnFeedbackChanged (Isolate *isolate, FeedbackNexus *nexus, JSFunction *host_function, const char *reason)
 

Static Public Attributes

static constexpr int kMaxKeyedPolymorphism = 4
 
static constexpr int kMaxPolymorphicMapCount = 4
 

Protected Member Functions

Address fp () const
 
Address pc () const
 
void set_slow_stub_reason (const char *reason)
 
Isolateisolate () const
 
JSFunctionGetHostFunction () const
 
bool AddressIsDeoptimizedCode () const
 
bool is_vector_set ()
 
bool vector_needs_update ()
 
bool ConfigureVectorState (IC::State new_state, Handle< Object > key)
 
void ConfigureVectorState (Handle< Map > map)
 
void ConfigureVectorState (Handle< Name > name, Handle< Map > map, Handle< Object > handler)
 
void ConfigureVectorState (Handle< Name > name, Handle< Map > map, const MaybeObjectHandle &handler)
 
void ConfigureVectorState (Handle< Name > name, MapHandles const &maps, MaybeObjectHandles *handlers)
 
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< ObjectTypeError (MessageTemplate, Handle< Object > object, Handle< Object > key)
 
MaybeHandle< ObjectReferenceError (Handle< Name > name)
 
void TraceHandlerCacheHitStats (LookupIterator *lookup)
 
void UpdateMonomorphicIC (const MaybeObjectHandle &handler, Handle< Name > name)
 
bool UpdatePolymorphicIC (Handle< Name > name, const MaybeObjectHandle &handler)
 
void UpdateMegamorphicCache (Handle< Map > map, Handle< Name > name, const MaybeObjectHandle &handler)
 
StubCachestub_cache ()
 
void CopyICToMegamorphicCache (Handle< Name > name)
 
bool IsTransitionOfMonomorphicTarget (Map source_map, Map target_map)
 
void PatchCache (Handle< Name > name, Handle< Object > handler)
 
void PatchCache (Handle< Name > name, const MaybeObjectHandle &handler)
 
FeedbackSlotKind kind () const
 
bool IsGlobalIC () const
 
bool IsLoadIC () const
 
bool IsLoadGlobalIC () const
 
bool IsKeyedLoadIC () const
 
bool IsStoreGlobalIC () const
 
bool IsStoreIC () const
 
bool IsStoreOwnIC () const
 
bool IsKeyedStoreIC () const
 
bool is_keyed () const
 
bool ShouldRecomputeHandler (Handle< String > name)
 
Handle< Mapreceiver_map ()
 
void update_receiver_map (Handle< Object > receiver)
 
void TargetMaps (MapHandles *list)
 
Map FirstTargetMap ()
 
State saved_state () const
 
const FeedbackNexusnexus () const
 
FeedbackNexusnexus ()
 

Static Protected Member Functions

static bool AddressIsDeoptimizedCode (Isolate *isolate, Address address)
 

Detailed Description

Definition at line 25 of file ic.h.


The documentation for this class was generated from the following files: