v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::JSFunctionData Class Reference
Inheritance diagram for v8::internal::compiler::JSFunctionData:
Collaboration diagram for v8::internal::compiler::JSFunctionData:

Public Types

enum  UsedField {
  kHasFeedbackVector = 1 << 0 , kPrototypeOrInitialMap = 1 << 1 , kHasInitialMap = 1 << 2 , kHasInstancePrototype = 1 << 3 ,
  kPrototypeRequiresRuntimeLookup = 1 << 4 , kInitialMap = 1 << 5 , kInstancePrototype = 1 << 6 , kFeedbackVector = 1 << 7 ,
  kFeedbackCell = 1 << 8 , kInitialMapInstanceSizeWithMinSlack = 1 << 9
}
 

Public Member Functions

 JSFunctionData (JSHeapBroker *broker, ObjectData **storage, IndirectHandle< JSFunction > object, ObjectDataKind kind)
 
bool IsConsistentWithHeapState (JSHeapBroker *broker) const
 
bool has_initial_map () const
 
bool has_instance_prototype () const
 
bool PrototypeRequiresRuntimeLookup () const
 
ObjectDatacontext () const
 
ObjectDatainitial_map () const
 
ObjectDatainstance_prototype () const
 
ObjectDatashared () const
 
ObjectDataraw_feedback_cell () const
 
int initial_map_instance_size_with_min_slack () const
 
bool has_any_used_field () const
 
bool has_used_field (UsedField used_field) const
 
void set_used_field (UsedField used_field)
 
- Public Member Functions inherited from v8::internal::compiler::JSObjectData
 JSObjectData (JSHeapBroker *broker, ObjectData **storage, IndirectHandle< JSObject > object, ObjectDataKind kind)
 
- Public Member Functions inherited from v8::internal::compiler::JSReceiverData
 JSReceiverData (JSHeapBroker *broker, ObjectData **storage, IndirectHandle< JSReceiver > object, ObjectDataKind kind)
 
- Public Member Functions inherited from v8::internal::compiler::HeapObjectData
 HeapObjectData (JSHeapBroker *broker, ObjectData **storage, IndirectHandle< HeapObject > object, ObjectDataKind kind)
 
std::optional< boolTryGetBooleanValue (JSHeapBroker *broker) const
 
ObjectDatamap () const
 
InstanceType GetMapInstanceType () const
 
- Public Member Functions inherited from v8::internal::compiler::ObjectData
 ObjectData (JSHeapBroker *broker, ObjectData **storage, IndirectHandle< Object > object, ObjectDataKind kind)
 
IndirectHandle< Objectobject () const
 
ObjectDataKind kind () const
 
bool is_smi () const
 
bool should_access_heap () const
 
bool IsNull () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Types

using UsedFields = base::Flags<UsedField>
 

Private Member Functions

void Cache (JSHeapBroker *broker)
 

Private Attributes

UsedFields used_fields_
 
ObjectDataprototype_or_initial_map_ = nullptr
 
bool has_initial_map_ = false
 
bool has_instance_prototype_ = false
 
bool PrototypeRequiresRuntimeLookup_ = false
 
ObjectDatacontext_ = nullptr
 
ObjectDatainitial_map_
 
ObjectDatainstance_prototype_
 
ObjectDatashared_ = nullptr
 
ObjectDatafeedback_cell_ = nullptr
 
int initial_map_instance_size_with_min_slack_
 

Detailed Description

Definition at line 435 of file heap-refs.cc.

Member Typedef Documentation

◆ UsedFields

Member Enumeration Documentation

◆ UsedField

Enumerator
kHasFeedbackVector 
kPrototypeOrInitialMap 
kHasInitialMap 
kHasInstancePrototype 
kPrototypeRequiresRuntimeLookup 
kInitialMap 
kInstancePrototype 
kFeedbackVector 
kFeedbackCell 
kInitialMapInstanceSizeWithMinSlack 

Definition at line 485 of file heap-refs.cc.

Constructor & Destructor Documentation

◆ JSFunctionData()

v8::internal::compiler::JSFunctionData::JSFunctionData ( JSHeapBroker * broker,
ObjectData ** storage,
IndirectHandle< JSFunction > object,
ObjectDataKind kind )
inline

Definition at line 437 of file heap-refs.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Cache()

void v8::internal::compiler::JSFunctionData::Cache ( JSHeapBroker * broker)
private

Definition at line 624 of file heap-refs.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ context()

ObjectData * v8::internal::compiler::JSFunctionData::context ( ) const
inline

Definition at line 458 of file heap-refs.cc.

◆ has_any_used_field()

bool v8::internal::compiler::JSFunctionData::has_any_used_field ( ) const
inline

Definition at line 498 of file heap-refs.cc.

◆ has_initial_map()

bool v8::internal::compiler::JSFunctionData::has_initial_map ( ) const
inline

Definition at line 445 of file heap-refs.cc.

Here is the caller graph for this function:

◆ has_instance_prototype()

bool v8::internal::compiler::JSFunctionData::has_instance_prototype ( ) const
inline

Definition at line 449 of file heap-refs.cc.

◆ has_used_field()

bool v8::internal::compiler::JSFunctionData::has_used_field ( UsedField used_field) const
inline

Definition at line 499 of file heap-refs.cc.

Here is the caller graph for this function:

◆ initial_map()

ObjectData * v8::internal::compiler::JSFunctionData::initial_map ( ) const
inline

Definition at line 462 of file heap-refs.cc.

◆ initial_map_instance_size_with_min_slack()

int v8::internal::compiler::JSFunctionData::initial_map_instance_size_with_min_slack ( ) const
inline

Definition at line 478 of file heap-refs.cc.

◆ instance_prototype()

ObjectData * v8::internal::compiler::JSFunctionData::instance_prototype ( ) const
inline

Definition at line 466 of file heap-refs.cc.

◆ IsConsistentWithHeapState()

bool v8::internal::compiler::JSFunctionData::IsConsistentWithHeapState ( JSHeapBroker * broker) const

Definition at line 693 of file heap-refs.cc.

Here is the call graph for this function:

◆ PrototypeRequiresRuntimeLookup()

bool v8::internal::compiler::JSFunctionData::PrototypeRequiresRuntimeLookup ( ) const
inline

Definition at line 453 of file heap-refs.cc.

◆ raw_feedback_cell()

ObjectData * v8::internal::compiler::JSFunctionData::raw_feedback_cell ( ) const
inline

Definition at line 474 of file heap-refs.cc.

◆ set_used_field()

void v8::internal::compiler::JSFunctionData::set_used_field ( UsedField used_field)
inline

Definition at line 502 of file heap-refs.cc.

◆ shared()

ObjectData * v8::internal::compiler::JSFunctionData::shared ( ) const
inline

Definition at line 470 of file heap-refs.cc.

Member Data Documentation

◆ context_

ObjectData* v8::internal::compiler::JSFunctionData::context_ = nullptr
private

Definition at line 519 of file heap-refs.cc.

◆ feedback_cell_

ObjectData* v8::internal::compiler::JSFunctionData::feedback_cell_ = nullptr
private

Definition at line 525 of file heap-refs.cc.

◆ has_initial_map_

bool v8::internal::compiler::JSFunctionData::has_initial_map_ = false
private

Definition at line 515 of file heap-refs.cc.

◆ has_instance_prototype_

bool v8::internal::compiler::JSFunctionData::has_instance_prototype_ = false
private

Definition at line 516 of file heap-refs.cc.

◆ initial_map_

ObjectData* v8::internal::compiler::JSFunctionData::initial_map_
private
Initial value:
=
nullptr

Definition at line 520 of file heap-refs.cc.

◆ initial_map_instance_size_with_min_slack_

int v8::internal::compiler::JSFunctionData::initial_map_instance_size_with_min_slack_
private

Definition at line 526 of file heap-refs.cc.

◆ instance_prototype_

ObjectData* v8::internal::compiler::JSFunctionData::instance_prototype_
private
Initial value:
=
nullptr

Definition at line 522 of file heap-refs.cc.

◆ prototype_or_initial_map_

ObjectData* v8::internal::compiler::JSFunctionData::prototype_or_initial_map_ = nullptr
private

Definition at line 514 of file heap-refs.cc.

◆ PrototypeRequiresRuntimeLookup_

bool v8::internal::compiler::JSFunctionData::PrototypeRequiresRuntimeLookup_ = false
private

Definition at line 517 of file heap-refs.cc.

◆ shared_

ObjectData* v8::internal::compiler::JSFunctionData::shared_ = nullptr
private

Definition at line 524 of file heap-refs.cc.

◆ used_fields_

UsedFields v8::internal::compiler::JSFunctionData::used_fields_
private

Definition at line 512 of file heap-refs.cc.


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