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

Side by Side Diff: runtime/vm/isolate.h

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, 1 month 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_ISOLATE_H_ 5 #ifndef VM_ISOLATE_H_
6 #define VM_ISOLATE_H_ 6 #define VM_ISOLATE_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/thread.h" 10 #include "platform/thread.h"
(...skipping 13 matching lines...) Expand all
24 class Array; 24 class Array;
25 class Class; 25 class Class;
26 class CodeIndexTable; 26 class CodeIndexTable;
27 class Debugger; 27 class Debugger;
28 class DeoptContext; 28 class DeoptContext;
29 class Field; 29 class Field;
30 class Function; 30 class Function;
31 class HandleScope; 31 class HandleScope;
32 class HandleVisitor; 32 class HandleVisitor;
33 class Heap; 33 class Heap;
34 class HeapClassStatistics;
34 class ICData; 35 class ICData;
35 class Instance; 36 class Instance;
36 class LongJump; 37 class LongJump;
37 class MessageHandler; 38 class MessageHandler;
38 class Mutex; 39 class Mutex;
39 class Object; 40 class Object;
40 class ObjectPointerVisitor; 41 class ObjectPointerVisitor;
41 class ObjectStore; 42 class ObjectStore;
42 class RawInstance; 43 class RawInstance;
43 class RawArray; 44 class RawArray;
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 return file_close_callback_; 337 return file_close_callback_;
337 } 338 }
338 339
339 void set_object_id_ring(ObjectIdRing* ring) { 340 void set_object_id_ring(ObjectIdRing* ring) {
340 object_id_ring_ = ring; 341 object_id_ring_ = ring;
341 } 342 }
342 ObjectIdRing* object_id_ring() { 343 ObjectIdRing* object_id_ring() {
343 return object_id_ring_; 344 return object_id_ring_;
344 } 345 }
345 346
347 HeapClassStatistics* heap_class_stats() {
348 return heap_class_stats_;
349 }
350
346 DeoptContext* deopt_context() const { return deopt_context_; } 351 DeoptContext* deopt_context() const { return deopt_context_; }
347 void set_deopt_context(DeoptContext* value) { 352 void set_deopt_context(DeoptContext* value) {
348 ASSERT(value == NULL || deopt_context_ == NULL); 353 ASSERT(value == NULL || deopt_context_ == NULL);
349 deopt_context_ = value; 354 deopt_context_ = value;
350 } 355 }
351 356
352 static char* GetStatus(const char* request); 357 static char* GetStatus(const char* request);
353 358
354 intptr_t BlockClassFinalization() { 359 intptr_t BlockClassFinalization() {
355 ASSERT(defer_finalization_count_ >= 0); 360 ASSERT(defer_finalization_count_ >= 0);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 DeoptContext* deopt_context_; 419 DeoptContext* deopt_context_;
415 420
416 // Status support. 421 // Status support.
417 char* stacktrace_; 422 char* stacktrace_;
418 intptr_t stack_frame_index_; 423 intptr_t stack_frame_index_;
419 ObjectHistogram* object_histogram_; 424 ObjectHistogram* object_histogram_;
420 425
421 // Ring buffer of objects assigned an id. 426 // Ring buffer of objects assigned an id.
422 ObjectIdRing* object_id_ring_; 427 ObjectIdRing* object_id_ring_;
423 428
429 // Heap statistics by class id
430 HeapClassStatistics* heap_class_stats_;
431
424 // Reusable handles support. 432 // Reusable handles support.
425 #define REUSABLE_HANDLE_FIELDS(object) \ 433 #define REUSABLE_HANDLE_FIELDS(object) \
426 object* object##_handle_; \ 434 object* object##_handle_; \
427 435
428 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_FIELDS) 436 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_FIELDS)
429 #undef REUSABLE_HANDLE_FIELDS 437 #undef REUSABLE_HANDLE_FIELDS
430 VMHandles reusable_handles_; 438 VMHandles reusable_handles_;
431 439
432 static Dart_IsolateCreateCallback create_callback_; 440 static Dart_IsolateCreateCallback create_callback_;
433 static Dart_IsolateInterruptCallback interrupt_callback_; 441 static Dart_IsolateInterruptCallback interrupt_callback_;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 Isolate* isolate_; 539 Isolate* isolate_;
532 char* script_url_; 540 char* script_url_;
533 char* library_url_; 541 char* library_url_;
534 char* function_name_; 542 char* function_name_;
535 char* exception_callback_name_; 543 char* exception_callback_name_;
536 }; 544 };
537 545
538 } // namespace dart 546 } // namespace dart
539 547
540 #endif // VM_ISOLATE_H_ 548 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698