v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <ic.h>
Public Types | |
enum | TypeInfo { UNINITIALIZED, SMI, INT32, HEAP_NUMBER, ODDBALL, BOTH_STRING, STRING, GENERIC } |
Public Types inherited from IC | |
enum | UtilityId { kUtilityCount } |
enum | FrameDepth { NO_EXTRA_FRAME = 0, EXTRA_CALL_FRAME = 1 } |
typedef InlineCacheState | State |
Public Member Functions | |
BinaryOpIC (Isolate *isolate) | |
void | patch (Code *code) |
Public Member Functions inherited from IC | |
IC (FrameDepth depth, Isolate *isolate) | |
virtual | ~IC () |
Code * | target () const |
Address | address () const |
virtual bool | IsGeneric () const |
RelocInfo::Mode | ComputeMode () |
bool | IsContextual (Handle< Object > receiver) |
bool | SlowIsContextual () |
Static Public Member Functions | |
static const char * | GetName (TypeInfo type_info) |
static State | ToState (TypeInfo type_info) |
static TypeInfo | GetTypeInfo (Handle< Object > left, Handle< Object > right) |
static TypeInfo | JoinTypes (TypeInfo x, TypeInfo y) |
Static Public Member Functions inherited from IC | |
static Address | AddressFromUtilityId (UtilityId id) |
static State | StateFrom (Code *target, Object *receiver, Object *name) |
static void | Clear (Address address) |
static InlineCacheHolderFlag | GetCodeCacheForObject (Object *object, JSObject *holder) |
static InlineCacheHolderFlag | GetCodeCacheForObject (JSObject *object, JSObject *holder) |
static JSObject * | GetCodeCacheHolder (Object *object, InlineCacheHolderFlag holder) |
Additional Inherited Members | |
Protected Member Functions inherited from IC | |
Address | fp () const |
Address | pc () const |
Isolate * | isolate () const |
void | set_target (Code *code) |
Failure * | TypeError (const char *type, Handle< Object > object, Handle< Object > key) |
Failure * | ReferenceError (const char *type, Handle< String > name) |
Static Protected Member Functions inherited from IC | |
static Code * | GetTargetAtAddress (Address address) |
static void | SetTargetAtAddress (Address address, Code *target) |
static void | PostPatching (Address address, Code *target, Code *old_target) |
enum TypeInfo |
|
inlineexplicit |
|
static |
Definition at line 2306 of file ic.cc.
References BinaryOpIC::BOTH_STRING, BinaryOpIC::GENERIC, BinaryOpIC::HEAP_NUMBER, BinaryOpIC::INT32, BinaryOpIC::ODDBALL, BinaryOpIC::SMI, BinaryOpIC::STRING, and BinaryOpIC::UNINITIALIZED.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 2355 of file ic.cc.
References BinaryOpIC::BOTH_STRING, BinaryOpIC::GENERIC, BinaryOpIC::HEAP_NUMBER, BinaryOpIC::INT32, TypeInfo::IsInteger32(), TypeInfo::IsNumber(), TypeInfo::IsSmi(), TypeInfo::IsString(), v8::internal::kSmiValueSize, BinaryOpIC::ODDBALL, BinaryOpIC::SMI, BinaryOpIC::STRING, and TypeInfo::TypeFromValue().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 2340 of file ic.cc.
References BinaryOpIC::BOTH_STRING, BinaryOpIC::GENERIC, BinaryOpIC::STRING, and BinaryOpIC::UNINITIALIZED.
Referenced by v8::internal::RUNTIME_FUNCTION().
void patch | ( | Code * | code | ) |
Definition at line 2301 of file ic.cc.
References IC::set_target().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 2321 of file ic.cc.
References BinaryOpIC::BOTH_STRING, BinaryOpIC::GENERIC, BinaryOpIC::HEAP_NUMBER, BinaryOpIC::INT32, v8::internal::MEGAMORPHIC, v8::internal::MONOMORPHIC, BinaryOpIC::ODDBALL, BinaryOpIC::SMI, BinaryOpIC::STRING, v8::internal::UNINITIALIZED, BinaryOpIC::UNINITIALIZED, and UNREACHABLE.