![]() |
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.