V8 Project
|
Public Member Functions | |
PropertyAccessInfo (HOptimizedGraphBuilder *builder, PropertyAccessType access_type, Type *type, Handle< String > name) | |
bool | CanAccessMonomorphic () |
bool | CanAccessAsMonomorphic (SmallMapList *types) |
Handle< Map > | map () |
Type * | type () const |
Handle< String > | name () const |
bool | IsJSObjectFieldAccessor () |
bool | GetJSObjectFieldAccess (HObjectAccess *access) |
bool | has_holder () |
bool | IsLoad () const |
Handle< JSObject > | holder () |
Handle< JSFunction > | accessor () |
Handle< Object > | constant () |
Handle< Map > | transition () |
SmallMapList * | field_maps () |
HType | field_type () const |
HObjectAccess | access () |
bool | IsFound () const |
bool | IsProperty () const |
bool | IsField () const |
bool | IsConstant () const |
bool | IsAccessor () const |
bool | IsTransition () const |
bool | IsConfigurable () const |
bool | IsReadOnly () const |
Private Member Functions | |
Handle< Object > | GetAccessorsFromMap (Handle< Map > map) const |
Handle< Object > | GetConstantFromMap (Handle< Map > map) const |
Handle< HeapType > | GetFieldTypeFromMap (Handle< Map > map) const |
Handle< Map > | GetFieldOwnerFromMap (Handle< Map > map) const |
int | GetLocalFieldIndexFromMap (Handle< Map > map) const |
Representation | representation () const |
Type * | ToType (Handle< Map > map) |
Zone * | zone () |
Isolate * | isolate () const |
CompilationInfo * | top_info () |
CompilationInfo * | current_info () |
bool | LoadResult (Handle< Map > map) |
void | LoadFieldMaps (Handle< Map > map) |
bool | LookupDescriptor () |
bool | LookupInPrototypes () |
bool | IsCompatible (PropertyAccessInfo *other) |
void | GeneralizeRepresentation (Representation r) |
Private Attributes | |
LookupResult | lookup_ |
HOptimizedGraphBuilder * | builder_ |
PropertyAccessType | access_type_ |
Type * | type_ |
Handle< String > | name_ |
Handle< JSObject > | holder_ |
Handle< JSFunction > | accessor_ |
Handle< JSObject > | api_holder_ |
Handle< Object > | constant_ |
SmallMapList | field_maps_ |
HType | field_type_ |
HObjectAccess | access_ |
Definition at line 2420 of file hydrogen.h.
|
inline |
Definition at line 2422 of file hydrogen.h.
|
inline |
Definition at line 2482 of file hydrogen.h.
References access_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoadNamedField(), v8::internal::HOptimizedGraphBuilder::BuildStoreNamedField(), and GetJSObjectFieldAccess().
|
inline |
Definition at line 2477 of file hydrogen.h.
References accessor_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess().
bool v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessAsMonomorphic | ( | SmallMapList * | types | ) |
Definition at line 6119 of file hydrogen.cc.
References DCHECK, GetJSObjectFieldAccess(), IsCompatible(), v8::internal::compiler::IsLoad(), v8::internal::HOptimizedGraphBuilder::kMaxLoadPolymorphism, v8::internal::HOptimizedGraphBuilder::kMaxStorePolymorphism, v8::internal::STATIC_ASSERT(), and v8::internal::HOptimizedGraphBuilder::ToType().
Referenced by v8::internal::HOptimizedGraphBuilder::BuildNamedAccess().
bool v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic | ( | ) |
Definition at line 6084 of file hydrogen.cc.
References v8::internal::CanInlinePropertyAccess(), v8::internal::compiler::IsLoad(), v8::internal::HGraphBuilder::isolate(), map, and NULL.
Referenced by v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed(), and v8::internal::HOptimizedGraphBuilder::HandlePolymorphicNamedFieldAccess().
Definition at line 2478 of file hydrogen.h.
References constant_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed().
|
inlineprivate |
Definition at line 2516 of file hydrogen.h.
References builder_, and v8::internal::HOptimizedGraphBuilder::current_info().
|
inline |
Definition at line 2480 of file hydrogen.h.
References field_maps_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoadNamedField(), and v8::internal::HOptimizedGraphBuilder::BuildStoreNamedField().
|
inline |
Definition at line 2481 of file hydrogen.h.
References field_type_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoadNamedField().
|
inlineprivate |
Definition at line 2524 of file hydrogen.h.
References access_.
Referenced by IsCompatible().
|
inlineprivate |
Definition at line 2495 of file hydrogen.h.
References v8::internal::handle(), isolate(), lookup_, and map().
|
inlineprivate |
Definition at line 2498 of file hydrogen.h.
References v8::internal::handle(), isolate(), lookup_, and map().
|
inlineprivate |
Definition at line 2504 of file hydrogen.h.
References v8::internal::handle(), lookup_, and map().
|
inlineprivate |
Definition at line 2501 of file hydrogen.h.
References v8::internal::handle(), isolate(), lookup_, and map().
|
inline |
Definition at line 2456 of file hydrogen.h.
References access(), v8::internal::TypeImpl< ZoneTypeConfig >::Array(), DCHECK, v8::internal::String::Equals(), v8::internal::TypeImpl< Config >::Is(), isolate(), map(), name_, and type_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and CanAccessAsMonomorphic().
|
inline |
Definition at line 2473 of file hydrogen.h.
References holder_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and IsCompatible().
Definition at line 2476 of file hydrogen.h.
References holder_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed().
|
inline |
Definition at line 2488 of file hydrogen.h.
References lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and IsCompatible().
|
private |
Definition at line 5908 of file hydrogen.cc.
References access_, accessor_, api_holder_, v8::internal::CanInlinePropertyAccess(), constant_, DCHECK, field_maps_, field_type_, GeneralizeRepresentation(), has_holder(), v8::internal::TypeImpl< Config >::Is(), IsAccessor(), IsConstant(), IsField(), IsFound(), IsLoad(), LookupDescriptor(), map(), type_, and zone().
Referenced by CanAccessAsMonomorphic().
|
inline |
|
inline |
Definition at line 2487 of file hydrogen.h.
References lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed(), and IsCompatible().
|
inline |
Definition at line 2486 of file hydrogen.h.
References lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and IsCompatible().
|
inline |
Definition at line 2484 of file hydrogen.h.
References lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and IsCompatible().
|
inline |
|
inline |
Definition at line 2474 of file hydrogen.h.
References access_type_, and v8::internal::LOAD.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and IsCompatible().
|
inlineprivate |
Definition at line 2514 of file hydrogen.h.
References lookup_.
Referenced by GetAccessorsFromMap(), GetConstantFromMap(), GetFieldTypeFromMap(), and GetJSObjectFieldAccess().
|
inline |
|
inline |
|
inline |
Definition at line 2489 of file hydrogen.h.
References lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), and v8::internal::HOptimizedGraphBuilder::BuildStoreNamedField().
|
private |
Definition at line 6026 of file hydrogen.cc.
References v8::internal::Map::AddDependentCompilationInfo(), v8::internal::TypeImpl< Config >::Iterator< T >::Advance(), v8::internal::TypeImpl< Config >::Iterator< T >::Current(), DCHECK, DCHECK_EQ, v8::internal::TypeImpl< Config >::Iterator< T >::Done(), v8::internal::DependentCode::kFieldTypeGroup, map, v8::internal::HGraphBuilder::top_info(), and v8::internal::HGraphBuilder::zone().
|
private |
Definition at line 5988 of file hydrogen.cc.
References v8::internal::Handle< T >::cast(), v8::internal::handle(), v8::internal::compiler::IsLoad(), and map.
|
private |
Definition at line 5981 of file hydrogen.cc.
Referenced by IsCompatible().
|
private |
Definition at line 6063 of file hydrogen.cc.
References v8::internal::CanInlinePropertyAccess(), v8::internal::handle(), map, v8::internal::HOptimizedGraphBuilder::ToType(), and v8::internal::JSObject::TryMigrateInstance().
Definition at line 6157 of file hydrogen.cc.
References v8::internal::HOptimizedGraphBuilder::context(), v8::internal::HOptimizedGraphBuilder::current_info(), v8::internal::IC::GetRootConstructor(), v8::internal::handle(), v8::internal::JSFunction::initial_map(), and NULL.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), GetAccessorsFromMap(), GetConstantFromMap(), GetFieldOwnerFromMap(), GetFieldTypeFromMap(), GetJSObjectFieldAccess(), GetLocalFieldIndexFromMap(), v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed(), v8::internal::HOptimizedGraphBuilder::HandlePolymorphicNamedFieldAccess(), IsCompatible(), and ToType().
Definition at line 2449 of file hydrogen.h.
References name_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoadNamedField(), and v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess().
|
inlineprivate |
|
inlineprivate |
Definition at line 2515 of file hydrogen.h.
References builder_, and v8::internal::HGraphBuilder::top_info().
|
inlineprivate |
Definition at line 2512 of file hydrogen.h.
References builder_, map(), and v8::internal::HOptimizedGraphBuilder::ToType().
Definition at line 2479 of file hydrogen.h.
References v8::internal::handle(), and lookup_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildStoreNamedField().
|
inline |
Definition at line 2448 of file hydrogen.h.
References type_.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildMonomorphicAccess(), v8::internal::HOptimizedGraphBuilder::BuildNamedAccess(), v8::internal::HOptimizedGraphBuilder::HandlePolymorphicCallNamed(), and v8::internal::HOptimizedGraphBuilder::HandlePolymorphicNamedFieldAccess().
|
inlineprivate |
Definition at line 2513 of file hydrogen.h.
References builder_, and v8::internal::HGraphBuilder::zone().
Referenced by IsCompatible().
|
private |
Definition at line 2540 of file hydrogen.h.
Referenced by access(), GeneralizeRepresentation(), and IsCompatible().
|
private |
Definition at line 2531 of file hydrogen.h.
Referenced by IsLoad().
|
private |
Definition at line 2535 of file hydrogen.h.
Referenced by accessor(), and IsCompatible().
Definition at line 2536 of file hydrogen.h.
Referenced by IsCompatible().
|
private |
Definition at line 2530 of file hydrogen.h.
Referenced by current_info(), top_info(), ToType(), and zone().
Definition at line 2537 of file hydrogen.h.
Referenced by constant(), and IsCompatible().
|
private |
Definition at line 2538 of file hydrogen.h.
Referenced by field_maps(), and IsCompatible().
|
private |
Definition at line 2539 of file hydrogen.h.
Referenced by field_type(), and IsCompatible().
Definition at line 2534 of file hydrogen.h.
Referenced by has_holder(), and holder().
|
private |
Definition at line 2529 of file hydrogen.h.
Referenced by GetAccessorsFromMap(), GetConstantFromMap(), GetFieldOwnerFromMap(), GetFieldTypeFromMap(), GetLocalFieldIndexFromMap(), IsAccessor(), IsConfigurable(), IsConstant(), IsField(), IsFound(), isolate(), IsProperty(), IsReadOnly(), IsTransition(), representation(), and transition().
Definition at line 2533 of file hydrogen.h.
Referenced by GetJSObjectFieldAccess(), IsJSObjectFieldAccessor(), and name().
|
private |
Definition at line 2532 of file hydrogen.h.
Referenced by GetJSObjectFieldAccess(), IsCompatible(), IsJSObjectFieldAccessor(), and type().