![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <gc-tracer.h>
Classes | |
struct | BackgroundCounter |
class | Event |
struct | IncrementalInfos |
class | RecordGCPhasesInfo |
class | Scope |
Public Types | |
enum class | MarkingType { kAtomic , kIncremental } |
Static Public Attributes | |
static constexpr base::TimeDelta | kThroughputTimeFrame |
static constexpr double | kConservativeSpeedInBytesPerMillisecond = 128 * KB |
Private Types | |
using | Priority = v8::Isolate::Priority |
using | BytesAndDurationBuffer = ::heap::base::BytesAndDurationBuffer |
using | SmoothedBytesAndDuration = ::heap::base::SmoothedBytesAndDuration |
Private Member Functions | |
void | StopCycle (GarbageCollector collector) |
V8_INLINE double | current_scope (Scope::ScopeId id) const |
V8_INLINE constexpr const IncrementalInfos & | incremental_scope (Scope::ScopeId id) const |
void | ResetForTesting () |
void | RecordIncrementalMarkingSpeed (size_t bytes, base::TimeDelta duration) |
void | RecordMutatorUtilization (base::TimeTicks mark_compactor_end_time, base::TimeDelta mark_compactor_duration) |
void | RecordGCSumCounters () |
void | PrintNVP () const |
void | Print () const |
void | PRINTF_FORMAT (2, 3) Output(const char *format |
void | FetchBackgroundCounters () |
void | ReportFullCycleToRecorder () |
void | ReportIncrementalMarkingStepToRecorder (double v8_duration) |
void | ReportIncrementalSweepingStepToRecorder (double v8_duration) |
void | ReportYoungCycleToRecorder () |
FRIEND_TEST (GCTracerTest, AllocationThroughput) | |
FRIEND_TEST (GCTracerTest, BackgroundScavengerScope) | |
FRIEND_TEST (GCTracerTest, BackgroundMinorMSScope) | |
FRIEND_TEST (GCTracerTest, BackgroundMajorMCScope) | |
FRIEND_TEST (GCTracerTest, CyclePriorities) | |
FRIEND_TEST (GCTracerTest, EmbedderAllocationThroughput) | |
FRIEND_TEST (GCTracerTest, MultithreadedBackgroundScope) | |
FRIEND_TEST (GCTracerTest, NewSpaceAllocationThroughput) | |
FRIEND_TEST (GCTracerTest, PerGenerationAllocationThroughput) | |
FRIEND_TEST (GCTracerTest, PerGenerationAllocationThroughputWithProvidedTime) | |
FRIEND_TEST (GCTracerTest, RegularScope) | |
FRIEND_TEST (GCTracerTest, IncrementalMarkingDetails) | |
FRIEND_TEST (GCTracerTest, IncrementalScope) | |
FRIEND_TEST (GCTracerTest, IncrementalMarkingSpeed) | |
FRIEND_TEST (GCTracerTest, MutatorUtilization) | |
FRIEND_TEST (GCTracerTest, RecordMarkCompactHistograms) | |
FRIEND_TEST (GCTracerTest, RecordScavengerHistograms) | |
Static Private Attributes | |
static constexpr base::TimeDelta | kSmoothedAllocationSpeedDecayRate |
Definition at line 107 of file gc-tracer.h.
Definition at line 463 of file gc-tracer.h.
|
private |
Definition at line 108 of file gc-tracer.h.
|
private |
Definition at line 464 of file gc-tracer.h.
|
strong |
Enumerator | |
---|---|
kAtomic | |
kIncremental |
Definition at line 301 of file gc-tracer.h.
v8::internal::GCTracer::GCTracer | ( | Heap * | heap, |
base::TimeTicks | startup_time, | ||
GarbageCollectionReason | initial_gc_reason = GarbageCollectionReason::kUnknown ) |
void v8::internal::GCTracer::AddCompactionEvent | ( | double | duration, |
size_t | live_bytes_compacted ) |
void v8::internal::GCTracer::AddIncrementalMarkingStep | ( | double | duration, |
size_t | bytes ) |
Definition at line 737 of file gc-tracer.cc.
void v8::internal::GCTracer::AddIncrementalSweepingStep | ( | double | duration | ) |
void v8::internal::GCTracer::AddScopeSample | ( | Scope::ScopeId | id, |
base::TimeDelta | duration ) |
void v8::internal::GCTracer::AddSurvivalRatio | ( | double | survival_ratio | ) |
Definition at line 733 of file gc-tracer.cc.
double v8::internal::GCTracer::AllocationThroughputInBytesPerMillisecond | ( | ) | const |
Definition at line 1405 of file gc-tracer.cc.
double v8::internal::GCTracer::AverageMarkCompactMutatorUtilization | ( | ) | const |
double v8::internal::GCTracer::AverageSurvivalRatio | ( | ) | const |
Definition at line 1410 of file gc-tracer.cc.
std::optional< base::TimeDelta > v8::internal::GCTracer::AverageTimeToIncrementalMarkingTask | ( | ) | const |
uint16_t v8::internal::GCTracer::CodeFlushingIncrease | ( | ) | const |
std::optional< double > v8::internal::GCTracer::CompactionSpeedInBytesPerMillisecond | ( | ) | const |
|
private |
Definition at line 112 of file gc-tracer-inl.h.
CollectionEpoch v8::internal::GCTracer::CurrentEpoch | ( | Scope::ScopeId | id | ) | const |
Definition at line 108 of file gc-tracer-inl.h.
double v8::internal::GCTracer::CurrentMarkCompactMutatorUtilization | ( | ) | const |
double v8::internal::GCTracer::EmbedderAllocationThroughputInBytesPerMillisecond | ( | ) | const |
std::optional< double > v8::internal::GCTracer::EmbedderSpeedInBytesPerMillisecond | ( | ) | const |
|
private |
std::optional< double > v8::internal::GCTracer::FinalIncrementalMarkCompactSpeedInBytesPerMillisecond | ( | ) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
GarbageCollector v8::internal::GCTracer::GetCurrentCollector | ( | ) | const |
Definition at line 1936 of file gc-tracer.cc.
|
constexprprivate |
Definition at line 117 of file gc-tracer-inl.h.
double v8::internal::GCTracer::IncrementalMarkingSpeedInBytesPerMillisecond | ( | ) | const |
Definition at line 1323 of file gc-tracer.cc.
std::optional< double > v8::internal::GCTracer::MarkCompactSpeedInBytesPerMillisecond | ( | ) | const |
double v8::internal::GCTracer::NewSpaceAllocationThroughputInBytesPerMillisecond | ( | ) | const |
void v8::internal::GCTracer::NotifyFullCppGCCompleted | ( | ) |
void v8::internal::GCTracer::NotifyFullSweepingCompletedAndStopCycleIfFinished | ( | ) |
Definition at line 537 of file gc-tracer.cc.
void v8::internal::GCTracer::NotifyIncrementalMarkingStart | ( | ) |
Definition at line 1423 of file gc-tracer.cc.
void v8::internal::GCTracer::NotifyMarkingStart | ( | ) |
Definition at line 687 of file gc-tracer.cc.
void v8::internal::GCTracer::NotifyYoungCppGCCompleted | ( | ) |
void v8::internal::GCTracer::NotifyYoungCppGCRunning | ( | ) |
void v8::internal::GCTracer::NotifyYoungSweepingCompleted | ( | ) |
Definition at line 571 of file gc-tracer.cc.
void v8::internal::GCTracer::NotifyYoungSweepingCompletedAndStopCycleIfFinished | ( | ) |
Definition at line 589 of file gc-tracer.cc.
double v8::internal::GCTracer::OldGenerationAllocationThroughputInBytesPerMillisecond | ( | ) | const |
std::optional< double > v8::internal::GCTracer::OldGenerationSpeedInBytesPerMillisecond | ( | ) |
Definition at line 1362 of file gc-tracer.cc.
|
private |
Definition at line 769 of file gc-tracer.cc.
|
private |
|
private |
Definition at line 821 of file gc-tracer.cc.
void v8::internal::GCTracer::RecordEmbedderMarkingSpeed | ( | size_t | bytes, |
base::TimeDelta | duration ) |
void v8::internal::GCTracer::RecordGCPhasesHistograms | ( | RecordGCPhasesInfo::Mode | mode | ) |
Definition at line 1444 of file gc-tracer.cc.
void v8::internal::GCTracer::RecordGCSizeCounters | ( | ) | const |
Definition at line 1522 of file gc-tracer.cc.
|
private |
Definition at line 1475 of file gc-tracer.cc.
|
private |
Definition at line 1251 of file gc-tracer.cc.
|
private |
Definition at line 1285 of file gc-tracer.cc.
void v8::internal::GCTracer::RecordTimeToIncrementalMarkingTask | ( | base::TimeDelta | time_to_task | ) |
Definition at line 1265 of file gc-tracer.cc.
|
private |
Definition at line 1607 of file gc-tracer.cc.
|
private |
Definition at line 1809 of file gc-tracer.cc.
|
private |
Definition at line 1838 of file gc-tracer.cc.
|
private |
Definition at line 1854 of file gc-tracer.cc.
|
private |
void v8::internal::GCTracer::ResetSurvivalEvents | ( | ) |
Definition at line 1421 of file gc-tracer.cc.
void v8::internal::GCTracer::SampleAllocation | ( | base::TimeTicks | current, |
size_t | new_space_counter_bytes, | ||
size_t | old_generation_counter_bytes, | ||
size_t | embedder_counter_bytes ) |
Definition at line 634 of file gc-tracer.cc.
void v8::internal::GCTracer::SampleConcurrencyEsimate | ( | size_t | concurrency | ) |
void v8::internal::GCTracer::StartAtomicPause | ( | ) |
void v8::internal::GCTracer::StartCycle | ( | GarbageCollector | collector, |
GarbageCollectionReason | gc_reason, | ||
const char * | collector_reason, | ||
MarkingType | marking ) |
Definition at line 228 of file gc-tracer.cc.
void v8::internal::GCTracer::StartInSafepoint | ( | base::TimeTicks | time | ) |
Definition at line 307 of file gc-tracer.cc.
void v8::internal::GCTracer::StartObservablePause | ( | base::TimeTicks | time | ) |
void v8::internal::GCTracer::StopAtomicPause | ( | ) |
|
private |
Definition at line 464 of file gc-tracer.cc.
void v8::internal::GCTracer::StopFullCycleIfFinished | ( | ) |
Definition at line 506 of file gc-tracer.cc.
void v8::internal::GCTracer::StopInSafepoint | ( | base::TimeTicks | time | ) |
Definition at line 322 of file gc-tracer.cc.
void v8::internal::GCTracer::StopObservablePause | ( | GarbageCollector | collector, |
base::TimeTicks | time ) |
Definition at line 338 of file gc-tracer.cc.
void v8::internal::GCTracer::StopYoungCycleIfFinished | ( | ) |
Definition at line 516 of file gc-tracer.cc.
bool v8::internal::GCTracer::SurvivalEventsRecorded | ( | ) | const |
void v8::internal::GCTracer::UpdateCurrentEvent | ( | GarbageCollectionReason | gc_reason, |
const char * | collector_reason ) |
Definition at line 211 of file gc-tracer.cc.
void v8::internal::GCTracer::UpdateCurrentEventPriority | ( | GCTracer::Priority | priority | ) |
void v8::internal::GCTracer::UpdateMemoryBalancerGCSpeed | ( | ) |
std::optional< double > v8::internal::GCTracer::YoungGenerationSpeedInBytesPerMillisecond | ( | YoungGenerationSpeedMode | mode | ) | const |
Definition at line 1338 of file gc-tracer.cc.
|
private |
Definition at line 542 of file gc-tracer.h.
|
private |
Definition at line 551 of file gc-tracer.h.
|
private |
Definition at line 550 of file gc-tracer.h.
|
private |
Definition at line 530 of file gc-tracer.h.
|
private |
Definition at line 606 of file gc-tracer.h.
|
mutableprivate |
Definition at line 605 of file gc-tracer.h.
|
private |
Definition at line 535 of file gc-tracer.h.
|
private |
Definition at line 547 of file gc-tracer.h.
|
private |
Definition at line 501 of file gc-tracer.h.
|
private |
Definition at line 515 of file gc-tracer.h.
|
private |
Definition at line 552 of file gc-tracer.h.
|
private |
Definition at line 545 of file gc-tracer.h.
|
private |
Definition at line 572 of file gc-tracer.h.
|
private |
Definition at line 525 of file gc-tracer.h.
|
private |
Definition at line 524 of file gc-tracer.h.
|
private |
Definition at line 585 of file gc-tracer.h.
|
private |
Definition at line 511 of file gc-tracer.h.
|
private |
Definition at line 601 of file gc-tracer.h.
|
private |
Definition at line 539 of file gc-tracer.h.
|
private |
Definition at line 603 of file gc-tracer.h.
|
staticconstexpr |
Definition at line 278 of file gc-tracer.h.
|
staticconstexprprivate |
Definition at line 565 of file gc-tracer.h.
|
staticconstexpr |
Definition at line 276 of file gc-tracer.h.
|
private |
Definition at line 534 of file gc-tracer.h.
|
private |
Definition at line 568 of file gc-tracer.h.
|
private |
Definition at line 543 of file gc-tracer.h.
|
private |
Definition at line 584 of file gc-tracer.h.
|
private |
Definition at line 583 of file gc-tracer.h.
|
private |
Definition at line 590 of file gc-tracer.h.
|
private |
Definition at line 593 of file gc-tracer.h.
|
private |
Definition at line 587 of file gc-tracer.h.
|
private |
Definition at line 544 of file gc-tracer.h.
|
private |
Definition at line 570 of file gc-tracer.h.
|
private |
Definition at line 518 of file gc-tracer.h.
|
private |
Definition at line 556 of file gc-tracer.h.
|
private |
Definition at line 559 of file gc-tracer.h.
|
private |
Definition at line 563 of file gc-tracer.h.
|
private |
Definition at line 560 of file gc-tracer.h.
|
private |
Definition at line 528 of file gc-tracer.h.
|
private |
Definition at line 562 of file gc-tracer.h.
|
private |
Definition at line 561 of file gc-tracer.h.
|
private |
Definition at line 578 of file gc-tracer.h.
|
private |
Definition at line 577 of file gc-tracer.h.
|
private |
Definition at line 579 of file gc-tracer.h.
|
private |
Definition at line 521 of file gc-tracer.h.
|
private |
Definition at line 557 of file gc-tracer.h.
|
private |
Definition at line 598 of file gc-tracer.h.