v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <type-info.h>
Static Public Member Functions | |
static bool | CanRetainOtherContext (Map *map, Context *native_context) |
static bool | CanRetainOtherContext (JSFunction *function, Context *native_context) |
Definition at line 235 of file type-info.h.
TypeFeedbackOracle | ( | Handle< Code > | code, |
Handle< Context > | native_context, | ||
Isolate * | isolate, | ||
Zone * | zone | ||
) |
Definition at line 62 of file type-info.cc.
References ASSERT, v8::internal::kHandleZapValue, and TypeFeedbackOracle::zone().
TypeInfo BinaryType | ( | BinaryOperation * | expr | ) |
Definition at line 391 of file type-info.cc.
References BinaryOperation::BinaryOperationFeedbackId(), BinaryOpIC::BOTH_STRING, Handle< T >::cast(), v8::internal::code(), v8::internal::DIV, TypeInfo::Double(), BinaryOpIC::GENERIC, BinaryOpIC::HEAP_NUMBER, BinaryOpIC::INT32, TypeInfo::Integer32(), BinaryOperation::op(), TypeInfo::Smi(), BinaryOpIC::SMI, TypeInfo::String(), BinaryOpIC::STRING, TypeInfo::Uninitialized(), BinaryOpIC::UNINITIALIZED, and TypeInfo::Unknown().
bool CallIsMonomorphic | ( | Call * | expr | ) |
Definition at line 166 of file type-info.cc.
References Call::CallFeedbackId().
Referenced by Call::RecordTypeFeedback().
bool CallNewIsMonomorphic | ( | CallNew * | expr | ) |
Definition at line 172 of file type-info.cc.
References CallNew::CallNewFeedbackId().
Referenced by CallNew::RecordTypeFeedback().
void CallReceiverTypes | ( | Call * | expr, |
Handle< String > | name, | ||
CallKind | call_kind, | ||
SmallMapList * | types | ||
) |
Definition at line 241 of file type-info.cc.
References Call::arguments(), v8::internal::CALL_AS_FUNCTION, Call::CallFeedbackId(), Code::ComputeMonomorphicFlags(), BitField< bool, 0, 1 >::encode(), v8::internal::flags, Code::NORMAL, and v8::internal::OWN_MAP.
Referenced by Call::RecordTypeFeedback().
Definition at line 534 of file type-info.cc.
References HeapObject::cast(), JSFunction::cast(), and v8::internal::NULL.
Referenced by TypeFeedbackOracle::CollectKeyedReceiverTypes(), TypeFeedbackOracle::GetCompareMap(), TypeFeedbackOracle::LoadIsMonomorphicNormal(), TypeFeedbackOracle::LoadMonomorphicReceiverType(), TypeFeedbackOracle::StoreIsMonomorphicNormal(), and TypeFeedbackOracle::StoreMonomorphicReceiverType().
|
static |
Definition at line 558 of file type-info.cc.
References Context::builtins(), and Context::global_object().
void CollectKeyedReceiverTypes | ( | TypeFeedbackId | ast_id, |
SmallMapList * | types | ||
) |
Definition at line 574 of file type-info.cc.
References TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), Map::cast(), v8::internal::code(), RelocIterator::done(), and TypeFeedbackOracle::zone().
Referenced by Property::RecordTypeFeedback(), CountOperation::RecordTypeFeedback(), and Assignment::RecordTypeFeedback().
TypeInfo CompareType | ( | CompareOperation * | expr | ) |
Definition at line 315 of file type-info.cc.
References Handle< T >::cast(), v8::internal::code(), CompareOperation::CompareOperationFeedbackId(), CompareIC::GENERIC, CompareIC::HEAP_NUMBERS, CompareIC::KNOWN_OBJECTS, TypeInfo::NonPrimitive(), TypeInfo::Number(), CompareIC::OBJECTS, TypeInfo::Smi(), CompareIC::SMIS, TypeInfo::String(), CompareIC::STRINGS, CompareIC::SYMBOLS, TypeInfo::Uninitialized(), CompareIC::UNINITIALIZED, and TypeInfo::Unknown().
Referenced by CompareOperation::RecordTypeFeedback().
Definition at line 261 of file type-info.cc.
References ASSERT, Call::CallFeedbackId(), Smi::cast(), check(), v8::internal::RECEIVER_MAP_CHECK, and Smi::value().
Referenced by Call::RecordTypeFeedback().
Handle< JSFunction > GetCallNewTarget | ( | CallNew * | expr | ) |
Definition at line 297 of file type-info.cc.
References CallNew::CallNewFeedbackId(), and Handle< T >::cast().
Referenced by CallNew::RecordTypeFeedback().
Handle< JSFunction > GetCallTarget | ( | Call * | expr | ) |
Definition at line 292 of file type-info.cc.
References Call::CallFeedbackId(), and Handle< T >::cast().
Referenced by Call::RecordTypeFeedback().
Handle< Map > GetCompareMap | ( | CompareOperation * | expr | ) |
Definition at line 355 of file type-info.cc.
References ASSERT, TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), v8::internal::code(), CompareOperation::CompareOperationFeedbackId(), CompareIC::KNOWN_OBJECTS, Handle< T >::null(), and v8::internal::NULL.
Handle< Map > GetObjectLiteralStoreMap | ( | ObjectLiteral::Property * | prop | ) |
Definition at line 302 of file type-info.cc.
References ASSERT, Handle< T >::cast(), ObjectLiteral::Property::key(), Literal::LiteralFeedbackId(), and TypeFeedbackOracle::ObjectLiteralStoreIsMonomorphic().
Referenced by ObjectLiteral::Property::RecordTypeFeedback().
Definition at line 270 of file type-info.cc.
References ASSERT, v8::internal::BOOLEAN_CHECK, JSObject::cast(), v8::internal::NULL, v8::internal::NUMBER_CHECK, v8::internal::RECEIVER_MAP_CHECK, v8::internal::STRING_CHECK, and UNREACHABLE.
Referenced by Call::RecordTypeFeedback().
TypeInfo IncrementType | ( | CountOperation * | expr | ) |
Definition at line 475 of file type-info.cc.
References BinaryOpIC::BOTH_STRING, Handle< T >::cast(), v8::internal::code(), CountOperation::CountBinOpFeedbackId(), TypeInfo::Double(), BinaryOpIC::GENERIC, BinaryOpIC::HEAP_NUMBER, BinaryOpIC::INT32, TypeInfo::Integer32(), TypeInfo::Smi(), BinaryOpIC::SMI, BinaryOpIC::STRING, BinaryOpIC::UNINITIALIZED, TypeInfo::Unknown(), and UNREACHABLE.
bool IsForInFastCase | ( | ForInStatement * | expr | ) |
Definition at line 185 of file type-info.cc.
References Smi::cast(), ForInStatement::ForInFeedbackId(), TypeFeedbackCells::kForInFastCaseMarker, and Smi::value().
bool IsSymbolCompare | ( | CompareOperation * | expr | ) |
Definition at line 345 of file type-info.cc.
References Handle< T >::cast(), v8::internal::code(), CompareOperation::CompareOperationFeedbackId(), and CompareIC::SYMBOLS.
bool LoadIsBuiltin | ( | Property * | expr, |
Builtins::Name | id | ||
) |
Definition at line 309 of file type-info.cc.
References Builtins::builtin(), Isolate::builtins(), and Property::PropertyFeedbackId().
Referenced by Property::RecordTypeFeedback().
bool LoadIsMegamorphicWithTypeInfo | ( | Property * | expr | ) |
Definition at line 114 of file type-info.cc.
References Builtins::builtin(), Isolate::builtins(), Handle< T >::cast(), v8::internal::code(), v8::internal::MEGAMORPHIC, and Property::PropertyFeedbackId().
Referenced by Property::RecordTypeFeedback().
bool LoadIsMonomorphicNormal | ( | Property * | expr | ) |
Definition at line 98 of file type-info.cc.
References TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), v8::internal::code(), Code::ExtractTypeFromFlags(), v8::internal::MONOMORPHIC, Code::NORMAL, v8::internal::NULL, and Property::PropertyFeedbackId().
Referenced by TypeFeedbackOracle::LoadMonomorphicReceiverType(), and Property::RecordTypeFeedback().
bool LoadIsUninitialized | ( | Property * | expr | ) |
Definition at line 87 of file type-info.cc.
References Handle< T >::cast(), v8::internal::code(), Property::PropertyFeedbackId(), and v8::internal::UNINITIALIZED.
Referenced by Property::RecordTypeFeedback().
Definition at line 192 of file type-info.cc.
References ASSERT, TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), v8::internal::code(), TypeFeedbackOracle::LoadIsMonomorphicNormal(), Handle< T >::null(), v8::internal::NULL, and Property::PropertyFeedbackId().
Referenced by Property::RecordTypeFeedback().
void LoadReceiverTypes | ( | Property * | expr, |
Handle< String > | name, | ||
SmallMapList * | types | ||
) |
Definition at line 223 of file type-info.cc.
References Code::ComputeMonomorphicFlags(), v8::internal::flags, Code::NORMAL, and Property::PropertyFeedbackId().
Referenced by Property::RecordTypeFeedback().
bool ObjectLiteralStoreIsMonomorphic | ( | ObjectLiteral::Property * | prop | ) |
Definition at line 178 of file type-info.cc.
References ObjectLiteral::Property::key(), and Literal::LiteralFeedbackId().
Referenced by TypeFeedbackOracle::GetObjectLiteralStoreMap(), and ObjectLiteral::Property::RecordTypeFeedback().
bool StoreIsMegamorphicWithTypeInfo | ( | TypeFeedbackId | ast_id | ) |
Definition at line 148 of file type-info.cc.
References v8::internal::ALLOW_JSARRAY_GROWTH, Builtins::builtin(), Isolate::builtins(), Handle< T >::cast(), v8::internal::code(), Code::GetKeyedAccessGrowMode(), and v8::internal::MEGAMORPHIC.
Referenced by CountOperation::RecordTypeFeedback(), and Assignment::RecordTypeFeedback().
bool StoreIsMonomorphicNormal | ( | TypeFeedbackId | ast_id | ) |
Definition at line 127 of file type-info.cc.
References v8::internal::ALLOW_JSARRAY_GROWTH, TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), v8::internal::code(), Code::ExtractTypeFromFlags(), Code::GetKeyedAccessGrowMode(), v8::internal::MONOMORPHIC, Code::NORMAL, and v8::internal::NULL.
Referenced by CountOperation::RecordTypeFeedback(), Assignment::RecordTypeFeedback(), and TypeFeedbackOracle::StoreMonomorphicReceiverType().
Handle< Map > StoreMonomorphicReceiverType | ( | TypeFeedbackId | ast_id | ) |
Definition at line 207 of file type-info.cc.
References ASSERT, TypeFeedbackOracle::CanRetainOtherContext(), Handle< T >::cast(), v8::internal::code(), Handle< T >::null(), v8::internal::NULL, and TypeFeedbackOracle::StoreIsMonomorphicNormal().
Referenced by CountOperation::RecordTypeFeedback(), and Assignment::RecordTypeFeedback().
void StoreReceiverTypes | ( | Assignment * | expr, |
Handle< String > | name, | ||
SmallMapList * | types | ||
) |
Definition at line 232 of file type-info.cc.
References Assignment::AssignmentFeedbackId(), Code::ComputeMonomorphicFlags(), v8::internal::flags, and Code::NORMAL.
Referenced by Assignment::RecordTypeFeedback().
TypeInfo SwitchType | ( | CaseClause * | clause | ) |
Definition at line 443 of file type-info.cc.
References Handle< T >::cast(), v8::internal::code(), CaseClause::CompareId(), CompareIC::GENERIC, CompareIC::HEAP_NUMBERS, CompareIC::KNOWN_OBJECTS, TypeInfo::NonPrimitive(), TypeInfo::Number(), CompareIC::OBJECTS, TypeInfo::Smi(), CompareIC::SMIS, TypeInfo::String(), CompareIC::STRINGS, TypeInfo::Symbol(), CompareIC::SYMBOLS, CompareIC::UNINITIALIZED, and TypeInfo::Unknown().
Referenced by CaseClause::RecordTypeFeedback().
byte ToBooleanTypes | ( | TypeFeedbackId | ast_id | ) |
Definition at line 597 of file type-info.cc.
References Handle< T >::cast().
TypeInfo UnaryType | ( | UnaryOperation * | expr | ) |
Definition at line 372 of file type-info.cc.
References ASSERT, Handle< T >::cast(), v8::internal::code(), TypeInfo::Double(), UnaryOpIC::HEAP_NUMBER, TypeInfo::Smi(), UnaryOpIC::SMI, UnaryOperation::UnaryOperationFeedbackId(), and TypeInfo::Unknown().
|
inline |
Definition at line 297 of file type-info.h.
Referenced by TypeFeedbackOracle::CollectKeyedReceiverTypes(), and TypeFeedbackOracle::TypeFeedbackOracle().