OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |