Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1129)

Unified Diff: src/heap.h

Issue 396893004: v8: GCTracer clean-up part 1. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix enum value in ASSERT. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/heap.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap.h
diff --git a/src/heap.h b/src/heap.h
index a6a14f6a6069838d096b4599fa898b4e0306349b..9eaa6ab399e7a215539f12e1d579e7d390a255dc 100644
--- a/src/heap.h
+++ b/src/heap.h
@@ -1236,6 +1236,12 @@ class Heap {
}
}
+ // Update GC statistics that are tracked on the Heap.
+ void UpdateGCStatistics(double start_time,
+ double end_time,
+ double spent_in_mutator,
+ double marking_time);
+
// Returns maximum GC pause.
double get_max_gc_pause() { return max_gc_pause_; }
@@ -2535,7 +2541,7 @@ class GCTracer BASE_EMBEDDED {
MC_WEAKCOLLECTION_PROCESS,
MC_WEAKCOLLECTION_CLEAR,
MC_FLUSH_CODE,
- kNumberOfScopes
+ NUMBER_OF_SCOPES
};
Scope(GCTracer* tracer, ScopeId scope)
@@ -2545,7 +2551,7 @@ class GCTracer BASE_EMBEDDED {
}
~Scope() {
- ASSERT(scope_ < kNumberOfScopes); // scope_ is unsigned.
+ ASSERT(scope_ < NUMBER_OF_SCOPES); // scope_ is unsigned.
tracer_->scopes_[scope_] += base::OS::TimeCurrentMillis() - start_time_;
}
@@ -2553,22 +2559,16 @@ class GCTracer BASE_EMBEDDED {
GCTracer* tracer_;
ScopeId scope_;
double start_time_;
+
+ DISALLOW_COPY_AND_ASSIGN(Scope);
};
explicit GCTracer(Heap* heap,
+ GarbageCollector collector,
const char* gc_reason,
const char* collector_reason);
~GCTracer();
- // Sets the collector.
- void set_collector(GarbageCollector collector) { collector_ = collector; }
-
- // Sets the GC count.
- void set_gc_count(unsigned int count) { gc_count_ = count; }
-
- // Sets the full GC count.
- void set_full_gc_count(int count) { full_gc_count_ = count; }
-
void increment_nodes_died_in_new_space() {
nodes_died_in_new_space_++;
}
@@ -2583,32 +2583,37 @@ class GCTracer BASE_EMBEDDED {
private:
// Returns a string matching the collector.
- const char* CollectorString();
+ const char* CollectorString() const;
+
+ // Print one detailed trace line in name=value format.
+ void PrintNVP() const;
- // Returns size of object in heap (in MB).
- inline double SizeOfHeapObjects();
+ // Print one trace line.
+ void Print() const;
// Timestamp set in the constructor.
double start_time_;
+ // Timestamp set in the destructor.
+ double end_time_;
+
// Size of objects in heap set in constructor.
intptr_t start_object_size_;
+ // Size of objects in heap set in destructor.
+ intptr_t end_object_size_;
+
// Size of memory allocated from OS set in constructor.
intptr_t start_memory_size_;
+ // Size of memory allocated from OS set in destructor.
+ intptr_t end_memory_size_;
+
// Type of collector.
GarbageCollector collector_;
- // A count (including this one, e.g. the first collection is 1) of the
- // number of garbage collections.
- unsigned int gc_count_;
-
- // A count (including this one) of the number of full garbage collections.
- int full_gc_count_;
-
// Amounts of time spent in different scopes during GC.
- double scopes_[Scope::kNumberOfScopes];
+ double scopes_[Scope::NUMBER_OF_SCOPES];
// Total amount of space either wasted or contained in one of free lists
// before the current GC.
@@ -2642,6 +2647,8 @@ class GCTracer BASE_EMBEDDED {
const char* gc_reason_;
const char* collector_reason_;
+
+ DISALLOW_COPY_AND_ASSIGN(GCTracer);
};
« no previous file with comments | « no previous file | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698