V8 Project
ic.cc File Reference
#include "src/v8.h"
#include "src/accessors.h"
#include "src/api.h"
#include "src/arguments.h"
#include "src/base/bits.h"
#include "src/codegen.h"
#include "src/conversions.h"
#include "src/execution.h"
#include "src/ic/call-optimization.h"
#include "src/ic/handler-compiler.h"
#include "src/ic/ic-inl.h"
#include "src/ic/ic-compiler.h"
#include "src/ic/stub-cache.h"
#include "src/prototype.h"
#include "src/runtime/runtime.h"
+ Include dependency graph for ic.cc:

Go to the source code of this file.

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define TRACE_GENERIC_IC(isolate, type, reason)
 
#define TRACE_IC(type, name)   TraceIC(type, name)
 
#define TRACE_VECTOR_IC(type, name, old_state, new_state)    TraceIC(type, name, old_state, new_state)
 
#define ADDR(name)   FUNCTION_ADDR(name),
 

Functions

const char * v8::internal::GetTransitionMarkModifier (KeyedAccessStoreMode mode)
 
static void v8::internal::LookupForRead (LookupIterator *it)
 
static void v8::internal::ComputeTypeInfoCountDelta (IC::State old_state, IC::State new_state, int *polymorphic_delta, int *generic_delta)
 
static bool v8::internal::MigrateDeprecated (Handle< Object > object)
 
static bool v8::internal::AddOneReceiverMapIfMissing (MapHandleList *receiver_maps, Handle< Map > new_receiver_map)
 
static Handle< Object > v8::internal::TryConvertKey (Handle< Object > key, Isolate *isolate)
 
bool v8::internal::IsOutOfBoundsAccess (Handle< JSObject > receiver, int index)
 
 v8::internal::RUNTIME_FUNCTION (CallIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (CallIC_Customization_Miss)
 
 v8::internal::RUNTIME_FUNCTION (LoadIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (KeyedLoadIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (KeyedLoadIC_MissFromStubFailure)
 
 v8::internal::RUNTIME_FUNCTION (StoreIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (StoreIC_MissFromStubFailure)
 
 v8::internal::RUNTIME_FUNCTION (SharedStoreIC_ExtendStorage)
 
 v8::internal::RUNTIME_FUNCTION (KeyedStoreIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (KeyedStoreIC_MissFromStubFailure)
 
 v8::internal::RUNTIME_FUNCTION (StoreIC_Slow)
 
 v8::internal::RUNTIME_FUNCTION (KeyedStoreIC_Slow)
 
 v8::internal::RUNTIME_FUNCTION (ElementsTransitionAndStoreIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (BinaryOpIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (BinaryOpIC_MissWithAllocationSite)
 
 v8::internal::RUNTIME_FUNCTION (CompareIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (CompareNilIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (Unreachable)
 
 v8::internal::RUNTIME_FUNCTION (ToBooleanIC_Miss)
 
 v8::internal::RUNTIME_FUNCTION (StoreCallbackProperty)
 
 v8::internal::RUNTIME_FUNCTION (LoadPropertyWithInterceptorOnly)
 Attempts to load a property with an interceptor (which must be present), but doesn't search the prototype chain. More...
 
static Object * v8::internal::ThrowReferenceError (Isolate *isolate, Name *name)
 
 v8::internal::RUNTIME_FUNCTION (LoadPropertyWithInterceptor)
 Loads a property with an interceptor performing post interceptor lookup if interceptor failed. More...
 
 v8::internal::RUNTIME_FUNCTION (StorePropertyWithInterceptor)
 
 v8::internal::RUNTIME_FUNCTION (LoadElementWithInterceptor)
 
 v8::internal::RUNTIME_FUNCTION (VectorLoadIC_MissFromStubFailure)
 
 v8::internal::RUNTIME_FUNCTION (VectorKeyedLoadIC_MissFromStubFailure)
 

Variables

static const Address v8::internal::IC_utilities []
 

Macro Definition Documentation

◆ ADDR

#define ADDR (   name)    FUNCTION_ADDR(name),

◆ TRACE_GENERIC_IC

#define TRACE_GENERIC_IC (   isolate,
  type,
  reason 
)
Value:
do { \
if (FLAG_trace_ic) { \
PrintF("[%s patching generic stub in ", type); \
PrintF("(see below) (%s)]\n", reason); \
} \
} while (false)

Definition at line 79 of file ic.cc.

◆ TRACE_IC

#define TRACE_IC (   type,
  name 
)    TraceIC(type, name)

Definition at line 137 of file ic.cc.

◆ TRACE_VECTOR_IC

#define TRACE_VECTOR_IC (   type,
  name,
  old_state,
  new_state 
)     TraceIC(type, name, old_state, new_state)

Definition at line 138 of file ic.cc.