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

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

Issue 913503004: Per isolate Log with block support (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 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 | runtime/vm/isolate.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 (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 "vm/base_isolate.h" 10 #include "vm/base_isolate.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 class GrowableObjectArray; 45 class GrowableObjectArray;
46 class HandleScope; 46 class HandleScope;
47 class HandleVisitor; 47 class HandleVisitor;
48 class Heap; 48 class Heap;
49 class ICData; 49 class ICData;
50 class Instance; 50 class Instance;
51 class IsolateProfilerData; 51 class IsolateProfilerData;
52 class IsolateSpawnState; 52 class IsolateSpawnState;
53 class InterruptableThreadState; 53 class InterruptableThreadState;
54 class Library; 54 class Library;
55 class Log;
55 class LongJumpScope; 56 class LongJumpScope;
56 class MessageHandler; 57 class MessageHandler;
57 class Mutex; 58 class Mutex;
58 class Object; 59 class Object;
59 class ObjectIdRing; 60 class ObjectIdRing;
60 class ObjectPointerVisitor; 61 class ObjectPointerVisitor;
61 class ObjectStore; 62 class ObjectStore;
62 class PcDescriptors; 63 class PcDescriptors;
63 class RawInstance; 64 class RawInstance;
64 class RawArray; 65 class RawArray;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 } 161 }
161 162
162 Dart_MessageNotifyCallback message_notify_callback() const { 163 Dart_MessageNotifyCallback message_notify_callback() const {
163 return message_notify_callback_; 164 return message_notify_callback_;
164 } 165 }
165 void set_message_notify_callback(Dart_MessageNotifyCallback value) { 166 void set_message_notify_callback(Dart_MessageNotifyCallback value) {
166 message_notify_callback_ = value; 167 message_notify_callback_ = value;
167 } 168 }
168 169
169 const char* name() const { return name_; } 170 const char* name() const { return name_; }
171 class Log* Log() const;
170 172
171 int64_t start_time() const { return start_time_; } 173 int64_t start_time() const { return start_time_; }
172 174
173 Dart_Port main_port() const { return main_port_; } 175 Dart_Port main_port() const { return main_port_; }
174 void set_main_port(Dart_Port port) { 176 void set_main_port(Dart_Port port) {
175 ASSERT(main_port_ == 0); // Only set main port once. 177 ASSERT(main_port_ == 0); // Only set main port once.
176 main_port_ = port; 178 main_port_ = port;
177 } 179 }
178 Dart_Port origin_id() const { return origin_id_; } 180 Dart_Port origin_id() const { return origin_id_; }
179 void set_origin_id(Dart_Port id) { 181 void set_origin_id(Dart_Port id) {
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 uword stack_overflow_flags_; 688 uword stack_overflow_flags_;
687 int32_t stack_overflow_count_; 689 int32_t stack_overflow_count_;
688 MessageHandler* message_handler_; 690 MessageHandler* message_handler_;
689 IsolateSpawnState* spawn_state_; 691 IsolateSpawnState* spawn_state_;
690 bool is_runnable_; 692 bool is_runnable_;
691 Dart_GcPrologueCallback gc_prologue_callback_; 693 Dart_GcPrologueCallback gc_prologue_callback_;
692 Dart_GcEpilogueCallback gc_epilogue_callback_; 694 Dart_GcEpilogueCallback gc_epilogue_callback_;
693 intptr_t defer_finalization_count_; 695 intptr_t defer_finalization_count_;
694 DeoptContext* deopt_context_; 696 DeoptContext* deopt_context_;
695 697
698 // Log.
699 bool is_service_isolate_;
700 class Log* log_;
701
696 // Status support. 702 // Status support.
697 char* stacktrace_; 703 char* stacktrace_;
698 intptr_t stack_frame_index_; 704 intptr_t stack_frame_index_;
699 705
700 // Timestamps of last operation via service. 706 // Timestamps of last operation via service.
701 int64_t last_allocationprofile_accumulator_reset_timestamp_; 707 int64_t last_allocationprofile_accumulator_reset_timestamp_;
702 int64_t last_allocationprofile_gc_timestamp_; 708 int64_t last_allocationprofile_gc_timestamp_;
703 709
704 CHA* cha_; 710 CHA* cha_;
705 711
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 static void RemoveIsolateFromList(Isolate* isolate); 768 static void RemoveIsolateFromList(Isolate* isolate);
763 static void CheckForDuplicateThreadState(InterruptableThreadState* state); 769 static void CheckForDuplicateThreadState(InterruptableThreadState* state);
764 static Monitor* isolates_list_monitor_; 770 static Monitor* isolates_list_monitor_;
765 static Isolate* isolates_list_head_; 771 static Isolate* isolates_list_head_;
766 772
767 #define REUSABLE_FRIEND_DECLARATION(name) \ 773 #define REUSABLE_FRIEND_DECLARATION(name) \
768 friend class Reusable##name##HandleScope; 774 friend class Reusable##name##HandleScope;
769 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) 775 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
770 #undef REUSABLE_FRIEND_DECLARATION 776 #undef REUSABLE_FRIEND_DECLARATION
771 777
778 friend class Service;
779
772 DISALLOW_COPY_AND_ASSIGN(Isolate); 780 DISALLOW_COPY_AND_ASSIGN(Isolate);
773 }; 781 };
774 782
775 783
776 // When we need to execute code in an isolate, we use the 784 // When we need to execute code in an isolate, we use the
777 // StartIsolateScope. 785 // StartIsolateScope.
778 class StartIsolateScope { 786 class StartIsolateScope {
779 public: 787 public:
780 explicit StartIsolateScope(Isolate* new_isolate) 788 explicit StartIsolateScope(Isolate* new_isolate)
781 : new_isolate_(new_isolate), saved_isolate_(Isolate::Current()) { 789 : new_isolate_(new_isolate), saved_isolate_(Isolate::Current()) {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 uint8_t* serialized_args_; 895 uint8_t* serialized_args_;
888 intptr_t serialized_args_len_; 896 intptr_t serialized_args_len_;
889 uint8_t* serialized_message_; 897 uint8_t* serialized_message_;
890 intptr_t serialized_message_len_; 898 intptr_t serialized_message_len_;
891 bool paused_; 899 bool paused_;
892 }; 900 };
893 901
894 } // namespace dart 902 } // namespace dart
895 903
896 #endif // VM_ISOLATE_H_ 904 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698