v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TypeFeedbackOracle Class Reference

#include <type-info.h>

Inheritance diagram for TypeFeedbackOracle:
Collaboration diagram for TypeFeedbackOracle:

Public Member Functions

 TypeFeedbackOracle (Handle< Code > code, Handle< Context > native_context, Zone *zone)
 
bool LoadIsUninitialized (TypeFeedbackId id)
 
bool StoreIsUninitialized (TypeFeedbackId id)
 
bool StoreIsKeyedPolymorphic (TypeFeedbackId id)
 
bool CallIsMonomorphic (int slot)
 
bool CallIsMonomorphic (TypeFeedbackId aid)
 
bool KeyedArrayCallIsHoley (TypeFeedbackId id)
 
bool CallNewIsMonomorphic (int slot)
 
byte ForInType (int feedback_vector_slot)
 
KeyedAccessStoreMode GetStoreMode (TypeFeedbackId id)
 
void PropertyReceiverTypes (TypeFeedbackId id, Handle< String > name, SmallMapList *receiver_types, bool *is_prototype)
 
void KeyedPropertyReceiverTypes (TypeFeedbackId id, SmallMapList *receiver_types, bool *is_string)
 
void AssignmentReceiverTypes (TypeFeedbackId id, Handle< String > name, SmallMapList *receiver_types)
 
void KeyedAssignmentReceiverTypes (TypeFeedbackId id, SmallMapList *receiver_types, KeyedAccessStoreMode *store_mode)
 
void CountReceiverTypes (TypeFeedbackId id, SmallMapList *receiver_types)
 
void CollectReceiverTypes (TypeFeedbackId id, SmallMapList *types)
 
Handle< JSFunctionGetCallTarget (int slot)
 
Handle< JSFunctionGetCallNewTarget (int slot)
 
Handle< AllocationSiteGetCallNewAllocationSite (int slot)
 
bool LoadIsBuiltin (TypeFeedbackId id, Builtins::Name builtin_id)
 
bool LoadIsStub (TypeFeedbackId id, ICStub *stub)
 
byte ToBooleanTypes (TypeFeedbackId id)
 
void BinaryType (TypeFeedbackId id, Type **left, Type **right, Type **result, Maybe< int > *fixed_right_arg, Handle< AllocationSite > *allocation_site, Token::Value operation)
 
void CompareType (TypeFeedbackId id, Type **left, Type **right, Type **combined)
 
TypeCountType (TypeFeedbackId id)
 
Zonezone () const
 
Isolateisolate () const
 
- Public Member Functions inherited from ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Static Public Member Functions

static bool CanRetainOtherContext (Map *map, Context *native_context)
 
static bool CanRetainOtherContext (JSFunction *function, Context *native_context)
 

Detailed Description

Definition at line 44 of file type-info.h.

Constructor & Destructor Documentation

TypeFeedbackOracle ( Handle< Code code,
Handle< Context native_context,
Zone zone 
)

Definition at line 45 of file type-info.cc.

References ASSERT, and TypeFeedbackInfo::cast().

Member Function Documentation

void AssignmentReceiverTypes ( TypeFeedbackId  id,
Handle< String name,
SmallMapList *  receiver_types 
)
void BinaryType ( TypeFeedbackId  id,
Type **  left,
Type **  right,
Type **  result,
Maybe< int > *  fixed_right_arg,
Handle< AllocationSite > *  allocation_site,
Token::Value  operation 
)
bool CallIsMonomorphic ( int  slot)

Definition at line 121 of file type-info.cc.

bool CallIsMonomorphic ( TypeFeedbackId  aid)
bool CallNewIsMonomorphic ( int  slot)

Definition at line 129 of file type-info.cc.

References v8::internal::info.

bool CanRetainOtherContext ( Map map,
Context native_context 
)
static
bool CanRetainOtherContext ( JSFunction function,
Context native_context 
)
static

Definition at line 382 of file type-info.cc.

References Context::builtins(), and Context::global_object().

void CountReceiverTypes ( TypeFeedbackId  id,
SmallMapList *  receiver_types 
)

Definition at line 327 of file type-info.cc.

References TypeFeedbackOracle::CollectReceiverTypes().

Type * CountType ( TypeFeedbackId  id)
byte ForInType ( int  feedback_vector_slot)

Definition at line 137 of file type-info.cc.

References Smi::cast(), TypeFeedbackInfo::kForInFastCaseMarker, and Smi::value().

Handle< AllocationSite > GetCallNewAllocationSite ( int  slot)

Definition at line 180 of file type-info.cc.

References Handle< T >::cast(), v8::internal::info, and Handle< T >::null().

Handle< JSFunction > GetCallNewTarget ( int  slot)
Handle< JSFunction > GetCallTarget ( int  slot)
bool KeyedArrayCallIsHoley ( TypeFeedbackId  id)
void KeyedAssignmentReceiverTypes ( TypeFeedbackId  id,
SmallMapList *  receiver_types,
KeyedAccessStoreMode store_mode 
)
void KeyedPropertyReceiverTypes ( TypeFeedbackId  id,
SmallMapList *  receiver_types,
bool *  is_string 
)
bool LoadIsBuiltin ( TypeFeedbackId  id,
Builtins::Name  builtin_id 
)
bool LoadIsStub ( TypeFeedbackId  id,
ICStub stub 
)
bool LoadIsUninitialized ( TypeFeedbackId  id)
void PropertyReceiverTypes ( TypeFeedbackId  id,
Handle< String name,
SmallMapList *  receiver_types,
bool *  is_prototype 
)
bool StoreIsKeyedPolymorphic ( TypeFeedbackId  id)
bool StoreIsUninitialized ( TypeFeedbackId  id)
byte ToBooleanTypes ( TypeFeedbackId  id)

Definition at line 413 of file type-info.cc.

References Handle< T >::cast().

Referenced by Expression::RecordToBooleanTypeFeedback().


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