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

Side by Side Diff: src/heap.h

Issue 27023003: Add histograms to track fraction of heap spaces and percentage of crankshaft code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add comment Created 7 years, 2 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 | « src/codegen.cc ('k') | 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 1642 matching lines...) Expand 10 before | Expand all | Expand 10 after
1653 GCTracer* tracer() { return tracer_; } 1653 GCTracer* tracer() { return tracer_; }
1654 1654
1655 // Returns the size of objects residing in non new spaces. 1655 // Returns the size of objects residing in non new spaces.
1656 intptr_t PromotedSpaceSizeOfObjects(); 1656 intptr_t PromotedSpaceSizeOfObjects();
1657 1657
1658 double total_regexp_code_generated() { return total_regexp_code_generated_; } 1658 double total_regexp_code_generated() { return total_regexp_code_generated_; }
1659 void IncreaseTotalRegexpCodeGenerated(int size) { 1659 void IncreaseTotalRegexpCodeGenerated(int size) {
1660 total_regexp_code_generated_ += size; 1660 total_regexp_code_generated_ += size;
1661 } 1661 }
1662 1662
1663 void IncrementCodeGeneratedBytes(bool is_crankshafted, int size) {
1664 if (is_crankshafted) {
1665 crankshaft_codegen_bytes_generated_ += size;
1666 } else {
1667 full_codegen_bytes_generated_ += size;
1668 }
1669 }
1670
1663 // Returns maximum GC pause. 1671 // Returns maximum GC pause.
1664 double get_max_gc_pause() { return max_gc_pause_; } 1672 double get_max_gc_pause() { return max_gc_pause_; }
1665 1673
1666 // Returns maximum size of objects alive after GC. 1674 // Returns maximum size of objects alive after GC.
1667 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; } 1675 intptr_t get_max_alive_after_gc() { return max_alive_after_gc_; }
1668 1676
1669 // Returns minimal interval between two subsequent collections. 1677 // Returns minimal interval between two subsequent collections.
1670 double get_min_in_mutator() { return min_in_mutator_; } 1678 double get_min_in_mutator() { return min_in_mutator_; }
1671 1679
1672 // TODO(hpayer): remove, should be handled by GCTracer 1680 // TODO(hpayer): remove, should be handled by GCTracer
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
2348 IncrementalMarking incremental_marking_; 2356 IncrementalMarking incremental_marking_;
2349 2357
2350 int number_idle_notifications_; 2358 int number_idle_notifications_;
2351 unsigned int last_idle_notification_gc_count_; 2359 unsigned int last_idle_notification_gc_count_;
2352 bool last_idle_notification_gc_count_init_; 2360 bool last_idle_notification_gc_count_init_;
2353 2361
2354 int mark_sweeps_since_idle_round_started_; 2362 int mark_sweeps_since_idle_round_started_;
2355 unsigned int gc_count_at_last_idle_gc_; 2363 unsigned int gc_count_at_last_idle_gc_;
2356 int scavenges_since_last_idle_round_; 2364 int scavenges_since_last_idle_round_;
2357 2365
2366 // These two counters are monotomically increasing and never reset.
2367 size_t full_codegen_bytes_generated_;
2368 size_t crankshaft_codegen_bytes_generated_;
2369
2358 // If the --deopt_every_n_garbage_collections flag is set to a positive value, 2370 // If the --deopt_every_n_garbage_collections flag is set to a positive value,
2359 // this variable holds the number of garbage collections since the last 2371 // this variable holds the number of garbage collections since the last
2360 // deoptimization triggered by garbage collection. 2372 // deoptimization triggered by garbage collection.
2361 int gcs_since_last_deopt_; 2373 int gcs_since_last_deopt_;
2362 2374
2363 #ifdef VERIFY_HEAP 2375 #ifdef VERIFY_HEAP
2364 int no_weak_object_verification_scope_depth_; 2376 int no_weak_object_verification_scope_depth_;
2365 #endif 2377 #endif
2366 2378
2367 static const int kMaxMarkSweepsInIdleRound = 7; 2379 static const int kMaxMarkSweepsInIdleRound = 7;
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
3060 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 3072 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
3061 3073
3062 private: 3074 private:
3063 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 3075 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
3064 }; 3076 };
3065 #endif // DEBUG 3077 #endif // DEBUG
3066 3078
3067 } } // namespace v8::internal 3079 } } // namespace v8::internal
3068 3080
3069 #endif // V8_HEAP_H_ 3081 #endif // V8_HEAP_H_
OLDNEW
« no previous file with comments | « src/codegen.cc ('k') | src/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698