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

#include <js-heap-broker.h>

Collaboration diagram for v8::internal::compiler::JSHeapBroker:

Classes

class  BoilerplateMigrationGuardIfNeeded
 
class  MapUpdaterGuardIfNeeded
 
class  RecursiveMutexGuardIfNeeded
 

Public Types

enum  BrokerMode { kDisabled , kSerializing , kSerialized , kRetired }
 

Public Member Functions

 JSHeapBroker (Isolate *isolate, Zone *broker_zone, bool tracing_enabled, CodeKind code_kind)
 
 JSHeapBroker (Isolate *isolate, Zone *broker_zone)
 
 ~JSHeapBroker ()
 
NativeContextRef target_native_context () const
 
void SetTargetNativeContextRef (DirectHandle< NativeContext > native_context)
 
void InitializeAndStartSerializing (DirectHandle< NativeContext > native_context)
 
Isolateisolate () const
 
PtrComprCageBase cage_base () const
 
Zonezone () const
 
bool tracing_enabled () const
 
NexusConfig feedback_nexus_config () const
 
BrokerMode mode () const
 
void StopSerializing ()
 
void Retire ()
 
bool SerializingAllowed () const
 
void AttachLocalIsolate (OptimizedCompilationInfo *info, LocalIsolate *local_isolate)
 
void DetachLocalIsolate (OptimizedCompilationInfo *info)
 
void AttachLocalIsolateForMaglev (maglev::MaglevCompilationInfo *info, LocalIsolate *local_isolate)
 
void DetachLocalIsolateForMaglev (maglev::MaglevCompilationInfo *info)
 
template<typename CompilationInfoT >
void AttachCompilationInfo (CompilationInfoT *info)
 
bool StackHasOverflowed () const
 
DirectHandle< ObjectGetRootHandle (Tagged< Object > object)
 
ObjectDataGetOrCreateData (Handle< Object > object, GetOrCreateDataFlags flags={})
 
ObjectDataGetOrCreateData (Tagged< Object > object, GetOrCreateDataFlags flags={})
 
ObjectDataTryGetOrCreateData (Handle< Object > object, GetOrCreateDataFlags flags={})
 
ObjectDataTryGetOrCreateData (Tagged< Object > object, GetOrCreateDataFlags flags={})
 
bool IsArrayOrObjectPrototype (JSObjectRef object) const
 
bool IsArrayOrObjectPrototype (Handle< JSObject > object) const
 
bool HasFeedback (FeedbackSource const &source) const
 
void SetFeedback (FeedbackSource const &source, ProcessedFeedback const *feedback)
 
FeedbackSlotKind GetFeedbackSlotKind (FeedbackSource const &source) const
 
ElementAccessFeedback const & ProcessFeedbackMapsForElementAccess (ZoneVector< MapRef > &maps, KeyedAccessMode const &keyed_mode, FeedbackSlotKind slot_kind)
 
BinaryOperationHint GetFeedbackForBinaryOperation (FeedbackSource const &source)
 
CompareOperationHint GetFeedbackForCompareOperation (FeedbackSource const &source)
 
ForInHint GetFeedbackForForIn (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForCall (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForGlobalAccess (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForInstanceOf (FeedbackSource const &source)
 
TypeOfFeedback::Result GetFeedbackForTypeOf (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForArrayOrObjectLiteral (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForRegExpLiteral (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForTemplateObject (FeedbackSource const &source)
 
ProcessedFeedback const & GetFeedbackForPropertyAccess (FeedbackSource const &source, AccessMode mode, OptionalNameRef static_name)
 
ProcessedFeedback const & ProcessFeedbackForBinaryOperation (FeedbackSource const &source)
 
ProcessedFeedback const & ProcessFeedbackForCompareOperation (FeedbackSource const &source)
 
ProcessedFeedback const & ProcessFeedbackForForIn (FeedbackSource const &source)
 
ProcessedFeedback const & ProcessFeedbackForTypeOf (FeedbackSource const &source)
 
bool FeedbackIsInsufficient (FeedbackSource const &source) const
 
OptionalNameRef GetNameFeedback (FeedbackNexus const &nexus)
 
PropertyAccessInfo GetPropertyAccessInfo (MapRef map, NameRef name, AccessMode access_mode)
 
StringRef GetTypedArrayStringTag (ElementsKind kind)
 
bool IsMainThread () const
 
LocalIsolatelocal_isolate () const
 
LocalIsolatelocal_isolate_or_isolate () const
 
std::optional< RootIndexFindRootIndex (HeapObjectRef object)
 
template<typename T >
Handle< TCanonicalPersistentHandle (Tagged< T > object)
 
template<typename T >
Handle< TCanonicalPersistentHandle (Handle< T > object)
 
template<typename T >
bool IsCanonicalHandle (Handle< T > handle)
 
std::string Trace () const
 
void IncrementTracingIndentation ()
 
void DecrementTracingIndentation ()
 
bool ObjectMayBeUninitialized (DirectHandle< Object > object) const
 
bool ObjectMayBeUninitialized (Tagged< Object > object) const
 
bool ObjectMayBeUninitialized (Tagged< HeapObject > object) const
 
void set_dependencies (CompilationDependencies *dependencies)
 
CompilationDependenciesdependencies () const
 

Private Member Functions

ProcessedFeedback const & GetFeedback (FeedbackSource const &source) const
 
const ProcessedFeedbackNewInsufficientFeedback (FeedbackSlotKind kind) const
 
ProcessedFeedback const & ReadFeedbackForArrayOrObjectLiteral (FeedbackSource const &source)
 
ProcessedFeedback const & ReadFeedbackForBinaryOperation (FeedbackSource const &source) const
 
ProcessedFeedback const & ReadFeedbackForTypeOf (FeedbackSource const &source) const
 
ProcessedFeedback const & ReadFeedbackForCall (FeedbackSource const &source)
 
ProcessedFeedback const & ReadFeedbackForCompareOperation (FeedbackSource const &source) const
 
ProcessedFeedback const & ReadFeedbackForForIn (FeedbackSource const &source) const
 
ProcessedFeedback const & ReadFeedbackForGlobalAccess (JSHeapBroker *broker, FeedbackSource const &source)
 
ProcessedFeedback const & ReadFeedbackForInstanceOf (FeedbackSource const &source)
 
ProcessedFeedback const & ReadFeedbackForPropertyAccess (FeedbackSource const &source, AccessMode mode, OptionalNameRef static_name)
 
ProcessedFeedback const & ReadFeedbackForRegExpLiteral (FeedbackSource const &source)
 
ProcessedFeedback const & ReadFeedbackForTemplateObject (FeedbackSource const &source)
 
void CollectArrayAndObjectPrototypes ()
 
void set_persistent_handles (std::unique_ptr< PersistentHandles > persistent_handles)
 
std::unique_ptr< PersistentHandlesDetachPersistentHandles ()
 
void set_canonical_handles (CanonicalHandlesMap *canonical_handles)
 

Private Attributes

Isolate *const isolate_
 
Zone *const zone_
 
OptionalNativeContextRef target_native_context_
 
RefsMaprefs_
 
RootIndexMap root_index_map_
 
ZoneUnorderedSet< IndirectHandle< JSObject >, IndirectHandle< JSObject >::hash, IndirectHandle< JSObject >::equal_to > array_and_object_prototypes_
 
BrokerMode mode_ = kDisabled
 
bool const tracing_enabled_
 
CodeKind const code_kind_
 
std::unique_ptr< PersistentHandlesph_
 
LocalIsolatelocal_isolate_ = nullptr
 
CanonicalHandlesMapcanonical_handles_
 
unsigned trace_indentation_ = 0
 
ZoneUnorderedMap< FeedbackSource, ProcessedFeedback const *, FeedbackSource::Hash, FeedbackSource::Equalfeedback_
 
ZoneUnorderedMap< PropertyAccessTarget, PropertyAccessInfo, PropertyAccessTarget::Hash, PropertyAccessTarget::Equalproperty_access_infos_
 
CompilationDependenciesdependencies_ = nullptr
 
int map_updater_mutex_depth_ = 0
 
int boilerplate_migration_mutex_depth_ = 0
 

Static Private Attributes

static constexpr uint32_t kMinimalRefsBucketCount = 8
 
static constexpr uint32_t kInitialRefsBucketCount = 1024
 

Friends

class JSHeapBrokerScopeForTesting
 
class HeapObjectRef
 
class ObjectRef
 
class ObjectData
 
class PropertyCellData
 

Detailed Description

Definition at line 95 of file js-heap-broker.h.

Member Enumeration Documentation

◆ BrokerMode

Enumerator
kDisabled 
kSerializing 
kSerialized 
kRetired 

Definition at line 139 of file js-heap-broker.h.

Constructor & Destructor Documentation

◆ JSHeapBroker() [1/2]

v8::internal::compiler::JSHeapBroker::JSHeapBroker ( Isolate * isolate,
Zone * broker_zone,
bool tracing_enabled,
CodeKind code_kind )

Definition at line 35 of file js-heap-broker.cc.

◆ JSHeapBroker() [2/2]

v8::internal::compiler::JSHeapBroker::JSHeapBroker ( Isolate * isolate,
Zone * broker_zone )
inline

Definition at line 102 of file js-heap-broker.h.

◆ ~JSHeapBroker()

v8::internal::compiler::JSHeapBroker::~JSHeapBroker ( )

Definition at line 58 of file js-heap-broker.cc.

Member Function Documentation

◆ AttachCompilationInfo()

template<typename CompilationInfoT >
void v8::internal::compiler::JSHeapBroker::AttachCompilationInfo ( CompilationInfoT * info)
inline

Definition at line 169 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ AttachLocalIsolate()

void v8::internal::compiler::JSHeapBroker::AttachLocalIsolate ( OptimizedCompilationInfo * info,
LocalIsolate * local_isolate )

Definition at line 85 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ AttachLocalIsolateForMaglev()

void v8::internal::compiler::JSHeapBroker::AttachLocalIsolateForMaglev ( maglev::MaglevCompilationInfo * info,
LocalIsolate * local_isolate )

Definition at line 32 of file maglev-concurrent-dispatcher.cc.

Here is the call graph for this function:

◆ cage_base()

PtrComprCageBase v8::internal::compiler::JSHeapBroker::cage_base ( ) const
inline

Definition at line 122 of file js-heap-broker.h.

◆ CanonicalPersistentHandle() [1/2]

template<typename T >
Handle< T > v8::internal::compiler::JSHeapBroker::CanonicalPersistentHandle ( Handle< T > object)
inline

Definition at line 316 of file js-heap-broker.h.

◆ CanonicalPersistentHandle() [2/2]

template<typename T >
Handle< T > v8::internal::compiler::JSHeapBroker::CanonicalPersistentHandle ( Tagged< T > object)
inline

Definition at line 283 of file js-heap-broker.h.

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

◆ CollectArrayAndObjectPrototypes()

void v8::internal::compiler::JSHeapBroker::CollectArrayAndObjectPrototypes ( )
private

Definition at line 121 of file js-heap-broker.cc.

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

◆ DecrementTracingIndentation()

void v8::internal::compiler::JSHeapBroker::DecrementTracingIndentation ( )

Definition at line 33 of file js-heap-broker.cc.

◆ dependencies()

CompilationDependencies * v8::internal::compiler::JSHeapBroker::dependencies ( ) const
inline

Definition at line 387 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ DetachLocalIsolate()

void v8::internal::compiler::JSHeapBroker::DetachLocalIsolate ( OptimizedCompilationInfo * info)

Definition at line 94 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ DetachLocalIsolateForMaglev()

void v8::internal::compiler::JSHeapBroker::DetachLocalIsolateForMaglev ( maglev::MaglevCompilationInfo * info)

Definition at line 41 of file maglev-concurrent-dispatcher.cc.

Here is the call graph for this function:

◆ DetachPersistentHandles()

std::unique_ptr< PersistentHandles > v8::internal::compiler::JSHeapBroker::DetachPersistentHandles ( )
inlineprivate

Definition at line 439 of file js-heap-broker.h.

◆ feedback_nexus_config()

NexusConfig v8::internal::compiler::JSHeapBroker::feedback_nexus_config ( ) const
inline

Definition at line 133 of file js-heap-broker.h.

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

◆ FeedbackIsInsufficient()

bool v8::internal::compiler::JSHeapBroker::FeedbackIsInsufficient ( FeedbackSource const & source) const

Definition at line 488 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ FindRootIndex()

std::optional< RootIndex > v8::internal::compiler::JSHeapBroker::FindRootIndex ( HeapObjectRef object)
inline

Definition at line 265 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ GetFeedback()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedback ( FeedbackSource const & source) const
private

Definition at line 473 of file js-heap-broker.cc.

Here is the caller graph for this function:

◆ GetFeedbackForArrayOrObjectLiteral()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForArrayOrObjectLiteral ( FeedbackSource const & source)

Definition at line 767 of file js-heap-broker.cc.

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

◆ GetFeedbackForBinaryOperation()

BinaryOperationHint v8::internal::compiler::JSHeapBroker::GetFeedbackForBinaryOperation ( FeedbackSource const & source)

Definition at line 739 of file js-heap-broker.cc.

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

◆ GetFeedbackForCall()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForCall ( FeedbackSource const & source)

Definition at line 842 of file js-heap-broker.cc.

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

◆ GetFeedbackForCompareOperation()

CompareOperationHint v8::internal::compiler::JSHeapBroker::GetFeedbackForCompareOperation ( FeedbackSource const & source)

Definition at line 753 of file js-heap-broker.cc.

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

◆ GetFeedbackForForIn()

ForInHint v8::internal::compiler::JSHeapBroker::GetFeedbackForForIn ( FeedbackSource const & source)

Definition at line 761 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ GetFeedbackForGlobalAccess()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForGlobalAccess ( FeedbackSource const & source)

Definition at line 850 of file js-heap-broker.cc.

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

◆ GetFeedbackForInstanceOf()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForInstanceOf ( FeedbackSource const & source)

Definition at line 834 of file js-heap-broker.cc.

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

◆ GetFeedbackForPropertyAccess()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForPropertyAccess ( FeedbackSource const & source,
AccessMode mode,
OptionalNameRef static_name )

Definition at line 824 of file js-heap-broker.cc.

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

◆ GetFeedbackForRegExpLiteral()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForRegExpLiteral ( FeedbackSource const & source)

Definition at line 776 of file js-heap-broker.cc.

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

◆ GetFeedbackForTemplateObject()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForTemplateObject ( FeedbackSource const & source)

Definition at line 784 of file js-heap-broker.cc.

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

◆ GetFeedbackForTypeOf()

TypeOfFeedback::Result v8::internal::compiler::JSHeapBroker::GetFeedbackForTypeOf ( FeedbackSource const & source)

Definition at line 746 of file js-heap-broker.cc.

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

◆ GetFeedbackSlotKind()

FeedbackSlotKind v8::internal::compiler::JSHeapBroker::GetFeedbackSlotKind ( FeedbackSource const & source) const

Definition at line 481 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ GetNameFeedback()

OptionalNameRef v8::internal::compiler::JSHeapBroker::GetNameFeedback ( FeedbackNexus const & nexus)

Definition at line 935 of file js-heap-broker.cc.

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

◆ GetOrCreateData() [1/2]

ObjectData * v8::internal::compiler::JSHeapBroker::GetOrCreateData ( Handle< Object > object,
GetOrCreateDataFlags flags = {} )

Definition at line 177 of file js-heap-broker.cc.

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

◆ GetOrCreateData() [2/2]

ObjectData * v8::internal::compiler::JSHeapBroker::GetOrCreateData ( Tagged< Object > object,
GetOrCreateDataFlags flags = {} )

Definition at line 184 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ GetPropertyAccessInfo()

PropertyAccessInfo v8::internal::compiler::JSHeapBroker::GetPropertyAccessInfo ( MapRef map,
NameRef name,
AccessMode access_mode )

Definition at line 941 of file js-heap-broker.cc.

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

◆ GetRootHandle()

DirectHandle< Object > v8::internal::compiler::JSHeapBroker::GetRootHandle ( Tagged< Object > object)

◆ GetTypedArrayStringTag()

StringRef v8::internal::compiler::JSHeapBroker::GetTypedArrayStringTag ( ElementsKind kind)

Definition at line 143 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ HasFeedback()

bool v8::internal::compiler::JSHeapBroker::HasFeedback ( FeedbackSource const & source) const

Definition at line 468 of file js-heap-broker.cc.

Here is the caller graph for this function:

◆ IncrementTracingIndentation()

void v8::internal::compiler::JSHeapBroker::IncrementTracingIndentation ( )

Definition at line 31 of file js-heap-broker.cc.

◆ InitializeAndStartSerializing()

void v8::internal::compiler::JSHeapBroker::InitializeAndStartSerializing ( DirectHandle< NativeContext > native_context)

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

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

◆ IsArrayOrObjectPrototype() [1/2]

bool v8::internal::compiler::JSHeapBroker::IsArrayOrObjectPrototype ( Handle< JSObject > object) const

Definition at line 161 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ IsArrayOrObjectPrototype() [2/2]

bool v8::internal::compiler::JSHeapBroker::IsArrayOrObjectPrototype ( JSObjectRef object) const

Definition at line 157 of file js-heap-broker.cc.

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

◆ IsCanonicalHandle()

template<typename T >
bool v8::internal::compiler::JSHeapBroker::IsCanonicalHandle ( Handle< T > handle)
inline

Definition at line 323 of file js-heap-broker.h.

Here is the call graph for this function:

◆ IsMainThread()

bool v8::internal::compiler::JSHeapBroker::IsMainThread ( ) const
inline

Definition at line 251 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::compiler::JSHeapBroker::isolate ( ) const
inline

Definition at line 118 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ local_isolate()

LocalIsolate * v8::internal::compiler::JSHeapBroker::local_isolate ( ) const
inline

Definition at line 255 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ local_isolate_or_isolate()

LocalIsolate * v8::internal::compiler::JSHeapBroker::local_isolate_or_isolate ( ) const
inline

Definition at line 260 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ mode()

BrokerMode v8::internal::compiler::JSHeapBroker::mode ( ) const
inline

Definition at line 140 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ NewInsufficientFeedback()

const ProcessedFeedback & v8::internal::compiler::JSHeapBroker::NewInsufficientFeedback ( FeedbackSlotKind kind) const
private

Definition at line 494 of file js-heap-broker.cc.

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

◆ ObjectMayBeUninitialized() [1/3]

bool v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized ( DirectHandle< Object > object) const

Definition at line 197 of file js-heap-broker.cc.

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

◆ ObjectMayBeUninitialized() [2/3]

bool v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized ( Tagged< HeapObject > object) const

Definition at line 206 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ ObjectMayBeUninitialized() [3/3]

bool v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized ( Tagged< Object > object) const

Definition at line 201 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ ProcessFeedbackForBinaryOperation()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForBinaryOperation ( FeedbackSource const & source)

Definition at line 800 of file js-heap-broker.cc.

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

◆ ProcessFeedbackForCompareOperation()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForCompareOperation ( FeedbackSource const & source)

Definition at line 808 of file js-heap-broker.cc.

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

◆ ProcessFeedbackForForIn()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForForIn ( FeedbackSource const & source)

Definition at line 816 of file js-heap-broker.cc.

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

◆ ProcessFeedbackForTypeOf()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForTypeOf ( FeedbackSource const & source)

Definition at line 792 of file js-heap-broker.cc.

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

◆ ProcessFeedbackMapsForElementAccess()

ElementAccessFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackMapsForElementAccess ( ZoneVector< MapRef > & maps,
KeyedAccessMode const & keyed_mode,
FeedbackSlotKind slot_kind )

Definition at line 858 of file js-heap-broker.cc.

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

◆ ReadFeedbackForArrayOrObjectLiteral()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForArrayOrObjectLiteral ( FeedbackSource const & source)
private

Definition at line 674 of file js-heap-broker.cc.

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

◆ ReadFeedbackForBinaryOperation()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForBinaryOperation ( FeedbackSource const & source) const
private

Definition at line 622 of file js-heap-broker.cc.

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

◆ ReadFeedbackForCall()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForCall ( FeedbackSource const & source)
private

Definition at line 718 of file js-heap-broker.cc.

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

◆ ReadFeedbackForCompareOperation()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForCompareOperation ( FeedbackSource const & source) const
private

Definition at line 639 of file js-heap-broker.cc.

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

◆ ReadFeedbackForForIn()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForForIn ( FeedbackSource const & source) const
private

Definition at line 648 of file js-heap-broker.cc.

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

◆ ReadFeedbackForGlobalAccess()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForGlobalAccess ( JSHeapBroker * broker,
FeedbackSource const & source )
private

Definition at line 578 of file js-heap-broker.cc.

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

◆ ReadFeedbackForInstanceOf()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForInstanceOf ( FeedbackSource const & source)
private

Definition at line 657 of file js-heap-broker.cc.

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

◆ ReadFeedbackForPropertyAccess()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForPropertyAccess ( FeedbackSource const & source,
AccessMode mode,
OptionalNameRef static_name )
private

Definition at line 499 of file js-heap-broker.cc.

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

◆ ReadFeedbackForRegExpLiteral()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForRegExpLiteral ( FeedbackSource const & source)
private

Definition at line 689 of file js-heap-broker.cc.

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

◆ ReadFeedbackForTemplateObject()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForTemplateObject ( FeedbackSource const & source)
private

Definition at line 704 of file js-heap-broker.cc.

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

◆ ReadFeedbackForTypeOf()

ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ReadFeedbackForTypeOf ( FeedbackSource const & source) const
private

Definition at line 631 of file js-heap-broker.cc.

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

◆ Retire()

void v8::internal::compiler::JSHeapBroker::Retire ( )

Definition at line 109 of file js-heap-broker.cc.

◆ SerializingAllowed()

bool v8::internal::compiler::JSHeapBroker::SerializingAllowed ( ) const

◆ set_canonical_handles()

void v8::internal::compiler::JSHeapBroker::set_canonical_handles ( CanonicalHandlesMap * canonical_handles)
inlineprivate

Definition at line 444 of file js-heap-broker.h.

◆ set_dependencies()

void v8::internal::compiler::JSHeapBroker::set_dependencies ( CompilationDependencies * dependencies)
inline

Definition at line 382 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ set_persistent_handles()

void v8::internal::compiler::JSHeapBroker::set_persistent_handles ( std::unique_ptr< PersistentHandles > persistent_handles)
inlineprivate

Definition at line 433 of file js-heap-broker.h.

◆ SetFeedback()

void v8::internal::compiler::JSHeapBroker::SetFeedback ( FeedbackSource const & source,
ProcessedFeedback const * feedback )

Definition at line 461 of file js-heap-broker.cc.

Here is the caller graph for this function:

◆ SetTargetNativeContextRef()

void v8::internal::compiler::JSHeapBroker::SetTargetNativeContextRef ( DirectHandle< NativeContext > native_context)

Definition at line 115 of file js-heap-broker.cc.

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

◆ StackHasOverflowed()

bool v8::internal::compiler::JSHeapBroker::StackHasOverflowed ( ) const

Definition at line 189 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ StopSerializing()

void v8::internal::compiler::JSHeapBroker::StopSerializing ( )

Definition at line 103 of file js-heap-broker.cc.

Here is the caller graph for this function:

◆ target_native_context()

NativeContextRef v8::internal::compiler::JSHeapBroker::target_native_context ( ) const
inline

Definition at line 110 of file js-heap-broker.h.

Here is the caller graph for this function:

◆ Trace()

std::string v8::internal::compiler::JSHeapBroker::Trace ( ) const

Definition at line 60 of file js-heap-broker.cc.

◆ tracing_enabled()

bool v8::internal::compiler::JSHeapBroker::tracing_enabled ( ) const
inline

Definition at line 131 of file js-heap-broker.h.

◆ TryGetOrCreateData() [1/2]

ObjectData * v8::internal::compiler::JSHeapBroker::TryGetOrCreateData ( Handle< Object > object,
GetOrCreateDataFlags flags = {} )
Here is the caller graph for this function:

◆ TryGetOrCreateData() [2/2]

ObjectData * v8::internal::compiler::JSHeapBroker::TryGetOrCreateData ( Tagged< Object > object,
GetOrCreateDataFlags flags = {} )

Definition at line 172 of file js-heap-broker.cc.

Here is the call graph for this function:

◆ zone()

Zone * v8::internal::compiler::JSHeapBroker::zone ( ) const
inline

Definition at line 130 of file js-heap-broker.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ HeapObjectRef

friend class HeapObjectRef
friend

Definition at line 398 of file js-heap-broker.h.

◆ JSHeapBrokerScopeForTesting

friend class JSHeapBrokerScopeForTesting
friend

Definition at line 397 of file js-heap-broker.h.

◆ ObjectData

friend class ObjectData
friend

Definition at line 400 of file js-heap-broker.h.

◆ ObjectRef

friend class ObjectRef
friend

Definition at line 399 of file js-heap-broker.h.

◆ PropertyCellData

friend class PropertyCellData
friend

Definition at line 401 of file js-heap-broker.h.

Member Data Documentation

◆ array_and_object_prototypes_

ZoneUnorderedSet<IndirectHandle<JSObject>, IndirectHandle<JSObject>::hash, IndirectHandle<JSObject>::equal_to> v8::internal::compiler::JSHeapBroker::array_and_object_prototypes_
private

Definition at line 462 of file js-heap-broker.h.

◆ boilerplate_migration_mutex_depth_

int v8::internal::compiler::JSHeapBroker::boilerplate_migration_mutex_depth_ = 0
private

Definition at line 494 of file js-heap-broker.h.

◆ canonical_handles_

CanonicalHandlesMap* v8::internal::compiler::JSHeapBroker::canonical_handles_
private

Definition at line 469 of file js-heap-broker.h.

◆ code_kind_

CodeKind const v8::internal::compiler::JSHeapBroker::code_kind_
private

Definition at line 465 of file js-heap-broker.h.

◆ dependencies_

CompilationDependencies* v8::internal::compiler::JSHeapBroker::dependencies_ = nullptr
private

Definition at line 484 of file js-heap-broker.h.

◆ feedback_

ZoneUnorderedMap<FeedbackSource, ProcessedFeedback const*, FeedbackSource::Hash, FeedbackSource::Equal> v8::internal::compiler::JSHeapBroker::feedback_
private

Definition at line 473 of file js-heap-broker.h.

◆ isolate_

Isolate* const v8::internal::compiler::JSHeapBroker::isolate_
private

Definition at line 452 of file js-heap-broker.h.

◆ kInitialRefsBucketCount

uint32_t v8::internal::compiler::JSHeapBroker::kInitialRefsBucketCount = 1024
staticconstexprprivate

Definition at line 498 of file js-heap-broker.h.

◆ kMinimalRefsBucketCount

uint32_t v8::internal::compiler::JSHeapBroker::kMinimalRefsBucketCount = 8
staticconstexprprivate

Definition at line 496 of file js-heap-broker.h.

◆ local_isolate_

LocalIsolate* v8::internal::compiler::JSHeapBroker::local_isolate_ = nullptr
private

Definition at line 467 of file js-heap-broker.h.

◆ map_updater_mutex_depth_

int v8::internal::compiler::JSHeapBroker::map_updater_mutex_depth_ = 0
private

Definition at line 492 of file js-heap-broker.h.

◆ mode_

BrokerMode v8::internal::compiler::JSHeapBroker::mode_ = kDisabled
private

Definition at line 463 of file js-heap-broker.h.

◆ ph_

std::unique_ptr<PersistentHandles> v8::internal::compiler::JSHeapBroker::ph_
private

Definition at line 466 of file js-heap-broker.h.

◆ property_access_infos_

ZoneUnorderedMap<PropertyAccessTarget, PropertyAccessInfo, PropertyAccessTarget::Hash, PropertyAccessTarget::Equal> v8::internal::compiler::JSHeapBroker::property_access_infos_
private

Definition at line 476 of file js-heap-broker.h.

◆ refs_

RefsMap* v8::internal::compiler::JSHeapBroker::refs_
private

Definition at line 458 of file js-heap-broker.h.

◆ root_index_map_

RootIndexMap v8::internal::compiler::JSHeapBroker::root_index_map_
private

Definition at line 459 of file js-heap-broker.h.

◆ target_native_context_

OptionalNativeContextRef v8::internal::compiler::JSHeapBroker::target_native_context_
private

Definition at line 457 of file js-heap-broker.h.

◆ trace_indentation_

unsigned v8::internal::compiler::JSHeapBroker::trace_indentation_ = 0
private

Definition at line 470 of file js-heap-broker.h.

◆ tracing_enabled_

bool const v8::internal::compiler::JSHeapBroker::tracing_enabled_
private

Definition at line 464 of file js-heap-broker.h.

◆ zone_

Zone* const v8::internal::compiler::JSHeapBroker::zone_
private

Definition at line 456 of file js-heap-broker.h.


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