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

Side by Side Diff: src/heap.h

Issue 12209090: Precise GC time measurements. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/heap.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1578 matching lines...) Expand 10 before | Expand all | Expand 10 after
1589 1589
1590 // Returns the size of objects residing in non new spaces. 1590 // Returns the size of objects residing in non new spaces.
1591 intptr_t PromotedSpaceSizeOfObjects(); 1591 intptr_t PromotedSpaceSizeOfObjects();
1592 1592
1593 double total_regexp_code_generated() { return total_regexp_code_generated_; } 1593 double total_regexp_code_generated() { return total_regexp_code_generated_; }
1594 void IncreaseTotalRegexpCodeGenerated(int size) { 1594 void IncreaseTotalRegexpCodeGenerated(int size) {
1595 total_regexp_code_generated_ += size; 1595 total_regexp_code_generated_ += size;
1596 } 1596 }
1597 1597
1598 // Returns maximum GC pause. 1598 // Returns maximum GC pause.
1599 int get_max_gc_pause() { return max_gc_pause_; } 1599 double get_max_gc_pause() { return max_gc_pause_; }
1600 1600
1601 // Returns maximum size of objects alive after GC. 1601 // Returns maximum size of objects alive after GC.
1602 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } 1602 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; }
1603 1603
1604 // Returns minimal interval between two subsequent collections. 1604 // Returns minimal interval between two subsequent collections.
1605 int get_min_in_mutator() { return min_in_mutator_; } 1605 double get_min_in_mutator() { return min_in_mutator_; }
1606 1606
1607 // TODO(hpayer): remove, should be handled by GCTracer 1607 // TODO(hpayer): remove, should be handled by GCTracer
1608 void AddMarkingTime(double marking_time) { 1608 void AddMarkingTime(double marking_time) {
1609 marking_time_ += marking_time; 1609 marking_time_ += marking_time;
1610 } 1610 }
1611 1611
1612 double marking_time() const { 1612 double marking_time() const {
1613 return marking_time_; 1613 return marking_time_;
1614 } 1614 }
1615 1615
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
2177 static const int kInitialEvalCacheSize = 64; 2177 static const int kInitialEvalCacheSize = 64;
2178 static const int kInitialNumberStringCacheSize = 256; 2178 static const int kInitialNumberStringCacheSize = 256;
2179 2179
2180 // Object counts and used memory by InstanceType 2180 // Object counts and used memory by InstanceType
2181 size_t object_counts_[OBJECT_STATS_COUNT]; 2181 size_t object_counts_[OBJECT_STATS_COUNT];
2182 size_t object_counts_last_time_[OBJECT_STATS_COUNT]; 2182 size_t object_counts_last_time_[OBJECT_STATS_COUNT];
2183 size_t object_sizes_[OBJECT_STATS_COUNT]; 2183 size_t object_sizes_[OBJECT_STATS_COUNT];
2184 size_t object_sizes_last_time_[OBJECT_STATS_COUNT]; 2184 size_t object_sizes_last_time_[OBJECT_STATS_COUNT];
2185 2185
2186 // Maximum GC pause. 2186 // Maximum GC pause.
2187 int max_gc_pause_; 2187 double max_gc_pause_;
2188 2188
2189 // Total time spent in GC. 2189 // Total time spent in GC.
2190 int total_gc_time_ms_; 2190 double total_gc_time_ms_;
2191 2191
2192 // Maximum size of objects alive after GC. 2192 // Maximum size of objects alive after GC.
2193 intptr_t max_alive_after_gc_; 2193 intptr_t max_alive_after_gc_;
2194 2194
2195 // Minimal interval between two subsequent collections. 2195 // Minimal interval between two subsequent collections.
2196 int min_in_mutator_; 2196 double min_in_mutator_;
2197 2197
2198 // Size of objects alive after last GC. 2198 // Size of objects alive after last GC.
2199 intptr_t alive_after_last_gc_; 2199 intptr_t alive_after_last_gc_;
2200 2200
2201 double last_gc_end_timestamp_; 2201 double last_gc_end_timestamp_;
2202 2202
2203 // Cumulative GC time spent in marking 2203 // Cumulative GC time spent in marking
2204 double marking_time_; 2204 double marking_time_;
2205 2205
2206 // Cumulative GC time spent in sweeping 2206 // Cumulative GC time spent in sweeping
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
2945 AssertNoAllocation no_alloc; // i.e. no gc allowed. 2945 AssertNoAllocation no_alloc; // i.e. no gc allowed.
2946 2946
2947 private: 2947 private:
2948 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2948 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2949 }; 2949 };
2950 #endif // DEBUG 2950 #endif // DEBUG
2951 2951
2952 } } // namespace v8::internal 2952 } } // namespace v8::internal
2953 2953
2954 #endif // V8_HEAP_H_ 2954 #endif // V8_HEAP_H_
OLDNEW
« 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