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

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

Issue 1113243002: Add the --steal-breakpoints flag. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: switch branch Created 5 years, 7 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 | « runtime/vm/debugger.cc ('k') | 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 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 object& object##Handle() const { \ 662 object& object##Handle() const { \
663 return *object##_handle_; \ 663 return *object##_handle_; \
664 } 664 }
665 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE) 665 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE)
666 #undef REUSABLE_HANDLE 666 #undef REUSABLE_HANDLE
667 667
668 static void VisitIsolates(IsolateVisitor* visitor); 668 static void VisitIsolates(IsolateVisitor* visitor);
669 669
670 Counters* counters() { return &counters_; } 670 Counters* counters() { return &counters_; }
671 671
672 // Handle service messages until we are told to resume execution.
673 void PauseEventHandler();
674
672 private: 675 private:
673 Isolate(); 676 Isolate();
674 explicit Isolate(Isolate* original); 677 explicit Isolate(Isolate* original);
675 678
676 void BuildName(const char* name_prefix); 679 void BuildName(const char* name_prefix);
677 void PrintInvokedFunctions(); 680 void PrintInvokedFunctions();
678 681
679 void ProfileIdle(); 682 void ProfileIdle();
680 683
681 void set_user_tag(uword tag) { 684 void set_user_tag(uword tag) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 Metric* metrics_list_head_; 770 Metric* metrics_list_head_;
768 771
769 Counters counters_; 772 Counters counters_;
770 773
771 // TODO(23153): Move this out of Isolate/Thread. 774 // TODO(23153): Move this out of Isolate/Thread.
772 CHA* cha_; 775 CHA* cha_;
773 776
774 // Isolate list next pointer. 777 // Isolate list next pointer.
775 Isolate* next_; 778 Isolate* next_;
776 779
780 // Used to wake the isolate when it is in the pause event loop.
781 Monitor* pause_loop_monitor_;
782
777 // Reusable handles support. 783 // Reusable handles support.
778 #define REUSABLE_HANDLE_FIELDS(object) \ 784 #define REUSABLE_HANDLE_FIELDS(object) \
779 object* object##_handle_; 785 object* object##_handle_;
780 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_FIELDS) 786 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_FIELDS)
781 #undef REUSABLE_HANDLE_FIELDS 787 #undef REUSABLE_HANDLE_FIELDS
782 788
783 #if defined(DEBUG) 789 #if defined(DEBUG)
784 #define REUSABLE_HANDLE_SCOPE_VARIABLE(object) \ 790 #define REUSABLE_HANDLE_SCOPE_VARIABLE(object) \
785 bool reusable_##object##_handle_scope_active_; 791 bool reusable_##object##_handle_scope_active_;
786 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_VARIABLE); 792 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_VARIABLE);
(...skipping 11 matching lines...) Expand all
798 static Dart_IsolateInterruptCallback interrupt_callback_; 804 static Dart_IsolateInterruptCallback interrupt_callback_;
799 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_; 805 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_;
800 static Dart_IsolateShutdownCallback shutdown_callback_; 806 static Dart_IsolateShutdownCallback shutdown_callback_;
801 static Dart_FileOpenCallback file_open_callback_; 807 static Dart_FileOpenCallback file_open_callback_;
802 static Dart_FileReadCallback file_read_callback_; 808 static Dart_FileReadCallback file_read_callback_;
803 static Dart_FileWriteCallback file_write_callback_; 809 static Dart_FileWriteCallback file_write_callback_;
804 static Dart_FileCloseCallback file_close_callback_; 810 static Dart_FileCloseCallback file_close_callback_;
805 static Dart_EntropySource entropy_source_callback_; 811 static Dart_EntropySource entropy_source_callback_;
806 static Dart_IsolateInterruptCallback vmstats_callback_; 812 static Dart_IsolateInterruptCallback vmstats_callback_;
807 813
814 static void WakePauseEventHandler(Dart_Isolate isolate);
815
808 // Manage list of existing isolates. 816 // Manage list of existing isolates.
809 static void AddIsolateTolist(Isolate* isolate); 817 static void AddIsolateTolist(Isolate* isolate);
810 static void RemoveIsolateFromList(Isolate* isolate); 818 static void RemoveIsolateFromList(Isolate* isolate);
811 static void CheckForDuplicateThreadState(InterruptableThreadState* state); 819 static void CheckForDuplicateThreadState(InterruptableThreadState* state);
812 820
813 static Monitor* isolates_list_monitor_; // Protects isolates_list_head_ 821 static Monitor* isolates_list_monitor_; // Protects isolates_list_head_
814 static Isolate* isolates_list_head_; 822 static Isolate* isolates_list_head_;
815 823
816 #define REUSABLE_FRIEND_DECLARATION(name) \ 824 #define REUSABLE_FRIEND_DECLARATION(name) \
817 friend class Reusable##name##HandleScope; 825 friend class Reusable##name##HandleScope;
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 uint8_t* serialized_args_; 958 uint8_t* serialized_args_;
951 intptr_t serialized_args_len_; 959 intptr_t serialized_args_len_;
952 uint8_t* serialized_message_; 960 uint8_t* serialized_message_;
953 intptr_t serialized_message_len_; 961 intptr_t serialized_message_len_;
954 bool paused_; 962 bool paused_;
955 }; 963 };
956 964
957 } // namespace dart 965 } // namespace dart
958 966
959 #endif // VM_ISOLATE_H_ 967 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/debugger.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698