![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <js-heap-broker.h>
Classes | |
class | BoilerplateMigrationGuardIfNeeded |
class | MapUpdaterGuardIfNeeded |
class | RecursiveMutexGuardIfNeeded |
Public Types | |
enum | BrokerMode { kDisabled , kSerializing , kSerialized , kRetired } |
Private Attributes | |
Isolate *const | isolate_ |
Zone *const | zone_ |
OptionalNativeContextRef | target_native_context_ |
RefsMap * | refs_ |
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< PersistentHandles > | ph_ |
LocalIsolate * | local_isolate_ = nullptr |
CanonicalHandlesMap * | canonical_handles_ |
unsigned | trace_indentation_ = 0 |
ZoneUnorderedMap< FeedbackSource, ProcessedFeedback const *, FeedbackSource::Hash, FeedbackSource::Equal > | feedback_ |
ZoneUnorderedMap< PropertyAccessTarget, PropertyAccessInfo, PropertyAccessTarget::Hash, PropertyAccessTarget::Equal > | property_access_infos_ |
CompilationDependencies * | dependencies_ = 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 |
Definition at line 95 of file js-heap-broker.h.
Enumerator | |
---|---|
kDisabled | |
kSerializing | |
kSerialized | |
kRetired |
Definition at line 139 of file js-heap-broker.h.
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.
Definition at line 102 of file js-heap-broker.h.
v8::internal::compiler::JSHeapBroker::~JSHeapBroker | ( | ) |
Definition at line 58 of file js-heap-broker.cc.
|
inline |
void v8::internal::compiler::JSHeapBroker::AttachLocalIsolate | ( | OptimizedCompilationInfo * | info, |
LocalIsolate * | local_isolate ) |
void v8::internal::compiler::JSHeapBroker::AttachLocalIsolateForMaglev | ( | maglev::MaglevCompilationInfo * | info, |
LocalIsolate * | local_isolate ) |
Definition at line 32 of file maglev-concurrent-dispatcher.cc.
|
inline |
Definition at line 122 of file js-heap-broker.h.
|
inline |
Definition at line 316 of file js-heap-broker.h.
|
inline |
Definition at line 283 of file js-heap-broker.h.
|
private |
Definition at line 121 of file js-heap-broker.cc.
void v8::internal::compiler::JSHeapBroker::DecrementTracingIndentation | ( | ) |
Definition at line 33 of file js-heap-broker.cc.
|
inline |
void v8::internal::compiler::JSHeapBroker::DetachLocalIsolate | ( | OptimizedCompilationInfo * | info | ) |
void v8::internal::compiler::JSHeapBroker::DetachLocalIsolateForMaglev | ( | maglev::MaglevCompilationInfo * | info | ) |
Definition at line 41 of file maglev-concurrent-dispatcher.cc.
|
inlineprivate |
Definition at line 439 of file js-heap-broker.h.
|
inline |
Definition at line 133 of file js-heap-broker.h.
bool v8::internal::compiler::JSHeapBroker::FeedbackIsInsufficient | ( | FeedbackSource const & | source | ) | const |
|
inline |
|
private |
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForArrayOrObjectLiteral | ( | FeedbackSource const & | source | ) |
Definition at line 767 of file js-heap-broker.cc.
BinaryOperationHint v8::internal::compiler::JSHeapBroker::GetFeedbackForBinaryOperation | ( | FeedbackSource const & | source | ) |
Definition at line 739 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForCall | ( | FeedbackSource const & | source | ) |
Definition at line 842 of file js-heap-broker.cc.
CompareOperationHint v8::internal::compiler::JSHeapBroker::GetFeedbackForCompareOperation | ( | FeedbackSource const & | source | ) |
Definition at line 753 of file js-heap-broker.cc.
ForInHint v8::internal::compiler::JSHeapBroker::GetFeedbackForForIn | ( | FeedbackSource const & | source | ) |
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForGlobalAccess | ( | FeedbackSource const & | source | ) |
Definition at line 850 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForInstanceOf | ( | FeedbackSource const & | source | ) |
Definition at line 834 of file js-heap-broker.cc.
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.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForRegExpLiteral | ( | FeedbackSource const & | source | ) |
Definition at line 776 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::GetFeedbackForTemplateObject | ( | FeedbackSource const & | source | ) |
Definition at line 784 of file js-heap-broker.cc.
TypeOfFeedback::Result v8::internal::compiler::JSHeapBroker::GetFeedbackForTypeOf | ( | FeedbackSource const & | source | ) |
Definition at line 746 of file js-heap-broker.cc.
FeedbackSlotKind v8::internal::compiler::JSHeapBroker::GetFeedbackSlotKind | ( | FeedbackSource const & | source | ) | const |
OptionalNameRef v8::internal::compiler::JSHeapBroker::GetNameFeedback | ( | FeedbackNexus const & | nexus | ) |
Definition at line 935 of file js-heap-broker.cc.
ObjectData * v8::internal::compiler::JSHeapBroker::GetOrCreateData | ( | Handle< Object > | object, |
GetOrCreateDataFlags | flags = {} ) |
Definition at line 177 of file js-heap-broker.cc.
ObjectData * v8::internal::compiler::JSHeapBroker::GetOrCreateData | ( | Tagged< Object > | object, |
GetOrCreateDataFlags | flags = {} ) |
PropertyAccessInfo v8::internal::compiler::JSHeapBroker::GetPropertyAccessInfo | ( | MapRef | map, |
NameRef | name, | ||
AccessMode | access_mode ) |
Definition at line 941 of file js-heap-broker.cc.
DirectHandle< Object > v8::internal::compiler::JSHeapBroker::GetRootHandle | ( | Tagged< Object > | object | ) |
StringRef v8::internal::compiler::JSHeapBroker::GetTypedArrayStringTag | ( | ElementsKind | kind | ) |
bool v8::internal::compiler::JSHeapBroker::HasFeedback | ( | FeedbackSource const & | source | ) | const |
void v8::internal::compiler::JSHeapBroker::IncrementTracingIndentation | ( | ) |
Definition at line 31 of file js-heap-broker.cc.
void v8::internal::compiler::JSHeapBroker::InitializeAndStartSerializing | ( | DirectHandle< NativeContext > | native_context | ) |
Definition at line 1029 of file heap-refs.cc.
bool v8::internal::compiler::JSHeapBroker::IsArrayOrObjectPrototype | ( | JSObjectRef | object | ) | const |
Definition at line 157 of file js-heap-broker.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Definition at line 494 of file js-heap-broker.cc.
bool v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized | ( | DirectHandle< Object > | object | ) | const |
Definition at line 197 of file js-heap-broker.cc.
bool v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized | ( | Tagged< HeapObject > | object | ) | const |
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForBinaryOperation | ( | FeedbackSource const & | source | ) |
Definition at line 800 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForCompareOperation | ( | FeedbackSource const & | source | ) |
Definition at line 808 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForForIn | ( | FeedbackSource const & | source | ) |
Definition at line 816 of file js-heap-broker.cc.
ProcessedFeedback const & v8::internal::compiler::JSHeapBroker::ProcessFeedbackForTypeOf | ( | FeedbackSource const & | source | ) |
Definition at line 792 of file js-heap-broker.cc.
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.
|
private |
Definition at line 674 of file js-heap-broker.cc.
|
private |
Definition at line 622 of file js-heap-broker.cc.
|
private |
Definition at line 718 of file js-heap-broker.cc.
|
private |
Definition at line 639 of file js-heap-broker.cc.
|
private |
Definition at line 648 of file js-heap-broker.cc.
|
private |
Definition at line 578 of file js-heap-broker.cc.
|
private |
Definition at line 657 of file js-heap-broker.cc.
|
private |
Definition at line 499 of file js-heap-broker.cc.
|
private |
Definition at line 689 of file js-heap-broker.cc.
|
private |
Definition at line 704 of file js-heap-broker.cc.
|
private |
Definition at line 631 of file js-heap-broker.cc.
void v8::internal::compiler::JSHeapBroker::Retire | ( | ) |
Definition at line 109 of file js-heap-broker.cc.
bool v8::internal::compiler::JSHeapBroker::SerializingAllowed | ( | ) | const |
|
inlineprivate |
Definition at line 444 of file js-heap-broker.h.
|
inline |
|
inlineprivate |
Definition at line 433 of file js-heap-broker.h.
void v8::internal::compiler::JSHeapBroker::SetFeedback | ( | FeedbackSource const & | source, |
ProcessedFeedback const * | feedback ) |
void v8::internal::compiler::JSHeapBroker::SetTargetNativeContextRef | ( | DirectHandle< NativeContext > | native_context | ) |
Definition at line 115 of file js-heap-broker.cc.
bool v8::internal::compiler::JSHeapBroker::StackHasOverflowed | ( | ) | const |
void v8::internal::compiler::JSHeapBroker::StopSerializing | ( | ) |
|
inline |
std::string v8::internal::compiler::JSHeapBroker::Trace | ( | ) | const |
Definition at line 60 of file js-heap-broker.cc.
|
inline |
Definition at line 131 of file js-heap-broker.h.
ObjectData * v8::internal::compiler::JSHeapBroker::TryGetOrCreateData | ( | Handle< Object > | object, |
GetOrCreateDataFlags | flags = {} ) |
ObjectData * v8::internal::compiler::JSHeapBroker::TryGetOrCreateData | ( | Tagged< Object > | object, |
GetOrCreateDataFlags | flags = {} ) |
|
inline |
|
friend |
Definition at line 398 of file js-heap-broker.h.
|
friend |
Definition at line 397 of file js-heap-broker.h.
|
friend |
Definition at line 400 of file js-heap-broker.h.
|
friend |
Definition at line 399 of file js-heap-broker.h.
|
friend |
Definition at line 401 of file js-heap-broker.h.
|
private |
Definition at line 462 of file js-heap-broker.h.
|
private |
Definition at line 494 of file js-heap-broker.h.
|
private |
Definition at line 469 of file js-heap-broker.h.
|
private |
Definition at line 465 of file js-heap-broker.h.
|
private |
Definition at line 484 of file js-heap-broker.h.
|
private |
Definition at line 473 of file js-heap-broker.h.
|
private |
Definition at line 452 of file js-heap-broker.h.
|
staticconstexprprivate |
Definition at line 498 of file js-heap-broker.h.
|
staticconstexprprivate |
Definition at line 496 of file js-heap-broker.h.
|
private |
Definition at line 467 of file js-heap-broker.h.
|
private |
Definition at line 492 of file js-heap-broker.h.
|
private |
Definition at line 463 of file js-heap-broker.h.
|
private |
Definition at line 466 of file js-heap-broker.h.
|
private |
Definition at line 476 of file js-heap-broker.h.
|
private |
Definition at line 458 of file js-heap-broker.h.
|
private |
Definition at line 459 of file js-heap-broker.h.
|
private |
Definition at line 457 of file js-heap-broker.h.
|
private |
Definition at line 470 of file js-heap-broker.h.
|
private |
Definition at line 464 of file js-heap-broker.h.
|
private |
Definition at line 456 of file js-heap-broker.h.