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

Unified Diff: runtime/vm/isolate.cc

Issue 51653006: Track live instance and allocation counts for classes (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/isolate.cc
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index cecc08880845240fa35fe75df2ce7389b0f2a72b..efe0fc4f37f29975040269be3435967a4db94079 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -16,6 +16,7 @@
#include "vm/debugger.h"
#include "vm/deopt_instructions.h"
#include "vm/heap.h"
+#include "vm/heap_class_stats.h"
#include "vm/heap_histogram.h"
#include "vm/message_handler.h"
#include "vm/object_id_ring.h"
@@ -44,6 +45,7 @@ DEFINE_FLAG(bool, trace_isolates, false,
void Isolate::RegisterClass(const Class& cls) {
class_table()->Register(cls);
if (object_histogram() != NULL) object_histogram()->RegisterClass(cls);
+ if (heap_class_stats() != NULL) heap_class_stats()->RegisterClass(cls);
}
@@ -307,11 +309,13 @@ Isolate::Isolate()
stack_frame_index_(-1),
object_histogram_(NULL),
object_id_ring_(NULL),
+ heap_class_stats_(NULL),
REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_INITIALIZERS)
reusable_handles_() {
if (FLAG_print_object_histogram && (Dart::vm_isolate() != NULL)) {
object_histogram_ = new ObjectHistogram(this);
}
+ heap_class_stats_ = new HeapClassStatistics(this);
}
#undef REUSABLE_HANDLE_INITIALIZERS
@@ -332,6 +336,7 @@ Isolate::~Isolate() {
message_handler_ = NULL; // Fail fast if we send messages to a dead isolate.
ASSERT(deopt_context_ == NULL); // No deopt in progress when isolate deleted.
delete object_histogram_;
+ delete heap_class_stats_;
}
void Isolate::SetCurrent(Isolate* current) {

Powered by Google App Engine
This is Rietveld 408576698