#include "src/heap/base/incremental-marking-schedule.h"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <memory>
#include "src/base/platform/time.h"
namespace heap::base {
namespace {
constexpr auto kTimeDeltaForPredictableSchedule = …;
}
std::unique_ptr<IncrementalMarkingSchedule>
IncrementalMarkingSchedule::CreateWithDefaultMinimumMarkedBytesPerStep(
bool predictable_schedule) { … }
std::unique_ptr<IncrementalMarkingSchedule>
IncrementalMarkingSchedule::CreateWithZeroMinimumMarkedBytesPerStep(
bool predictable_schedule) { … }
IncrementalMarkingSchedule::IncrementalMarkingSchedule(
size_t min_marked_bytes_per_step, bool predictable_schedule)
: … { … }
void IncrementalMarkingSchedule::NotifyIncrementalMarkingStart() { … }
void IncrementalMarkingSchedule::UpdateMutatorThreadMarkedBytes(
size_t overall_marked_bytes) { … }
void IncrementalMarkingSchedule::AddConcurrentlyMarkedBytes(
size_t marked_bytes) { … }
size_t IncrementalMarkingSchedule::GetOverallMarkedBytes() const { … }
size_t IncrementalMarkingSchedule::GetConcurrentlyMarkedBytes() const { … }
v8::base::TimeDelta IncrementalMarkingSchedule::GetElapsedTime() { … }
IncrementalMarkingSchedule::StepInfo
IncrementalMarkingSchedule::GetCurrentStepInfo() const { … }
size_t IncrementalMarkingSchedule::GetNextIncrementalStepDuration(
size_t estimated_live_bytes) { … }
constexpr double
IncrementalMarkingSchedule::kEphemeronPairsFlushingRatioIncrements;
bool IncrementalMarkingSchedule::ShouldFlushEphemeronPairs() { … }
void IncrementalMarkingSchedule::SetElapsedTimeForTesting(
v8::base::TimeDelta elapsed_time) { … }
}