| Index: src/heap/gc-tracer.h
|
| diff --git a/src/heap/gc-tracer.h b/src/heap/gc-tracer.h
|
| index ca144b24b4801a808c1cbcfb77544b582dbd0cf9..df30dccb6b5dd18d3ea4694241d348bbb7514e91 100644
|
| --- a/src/heap/gc-tracer.h
|
| +++ b/src/heap/gc-tracer.h
|
| @@ -141,15 +141,15 @@ class GCTracer {
|
| // Default constructor leaves the event uninitialized.
|
| AllocationEvent() {}
|
|
|
| - AllocationEvent(double duration, intptr_t allocation_in_bytes);
|
| + AllocationEvent(double duration, size_t allocation_in_bytes);
|
|
|
| - // Time spent in the mutator during the end of the last garbage collection
|
| - // to the beginning of the next garbage collection.
|
| + // Time spent in the mutator during the end of the last sample to the
|
| + // beginning of the next sample.
|
| double duration_;
|
|
|
| - // Memory allocated in the new space during the end of the last garbage
|
| - // collection to the beginning of the next garbage collection.
|
| - intptr_t allocation_in_bytes_;
|
| + // Memory allocated in the new space during the end of the last sample
|
| + // to the beginning of the next sample
|
| + size_t allocation_in_bytes_;
|
| };
|
|
|
|
|
| @@ -295,8 +295,11 @@ class GCTracer {
|
| // Stop collecting data and print results.
|
| void Stop(GarbageCollector collector);
|
|
|
| - // Log an allocation throughput event.
|
| - void AddNewSpaceAllocationTime(double duration, intptr_t allocation_in_bytes);
|
| + // Sample and accumulate bytes allocated since the last GC.
|
| + void SampleNewSpaceAllocation(double current_ms, size_t counter_bytes);
|
| +
|
| + // Log the accumulated new space allocation bytes.
|
| + void AddNewSpaceAllocation(double current_ms);
|
|
|
| void AddContextDisposalTime(double time);
|
|
|
| @@ -379,8 +382,12 @@ class GCTracer {
|
| intptr_t FinalIncrementalMarkCompactSpeedInBytesPerMillisecond() const;
|
|
|
| // Allocation throughput in the new space in bytes/millisecond.
|
| - // Returns 0 if no events have been recorded.
|
| - intptr_t NewSpaceAllocationThroughputInBytesPerMillisecond() const;
|
| + // Returns 0 if no allocation events have been recorded.
|
| + size_t NewSpaceAllocationThroughputInBytesPerMillisecond() const;
|
| +
|
| + // Bytes allocated in new space in the specified time.
|
| + // Returns 0 if no allocation events have been recorded.
|
| + size_t NewSpaceAllocatedBytesInLast(double time_ms) const;
|
|
|
| // Computes the context disposal rate in milliseconds. It takes the time
|
| // frame of the first recorded context disposal to the current time and
|
| @@ -485,9 +492,13 @@ class GCTracer {
|
| // all sweeping operations performed on the main thread.
|
| double cumulative_sweeping_duration_;
|
|
|
| - // Holds the new space top pointer recorded at the end of the last garbage
|
| - // collection.
|
| - intptr_t new_space_top_after_gc_;
|
| + // Timestamp and allocation counter at the last sampled allocation event.
|
| + double new_space_allocation_time_ms_;
|
| + size_t new_space_allocation_counter_bytes_;
|
| +
|
| + // Accumulated duration and allocated bytes since the last GC.
|
| + double new_space_allocation_duration_since_gc_;
|
| + size_t new_space_allocation_in_bytes_since_gc_;
|
|
|
| // Counts how many tracers were started without stopping.
|
| int start_counter_;
|
|
|