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

Side by Side Diff: runtime/vm/debugger_api_impl.cc

Issue 1401643002: Remove isolate parameter when allocating handles (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Sync Created 5 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | runtime/vm/debugger_api_impl_test.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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 #include "include/dart_tools_api.h" 5 #include "include/dart_tools_api.h"
6 6
7 #include "vm/class_finalizer.h" 7 #include "vm/class_finalizer.h"
8 #include "vm/compiler.h" 8 #include "vm/compiler.h"
9 #include "vm/dart_api_impl.h" 9 #include "vm/dart_api_impl.h"
10 #include "vm/dart_api_state.h" 10 #include "vm/dart_api_state.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 return Api::Success(); 101 return Api::Success();
102 } 102 }
103 103
104 static Dart_PausedEventHandler* paused_event_handler = NULL; 104 static Dart_PausedEventHandler* paused_event_handler = NULL;
105 static Dart_BreakpointResolvedHandler* bp_resolved_handler = NULL; 105 static Dart_BreakpointResolvedHandler* bp_resolved_handler = NULL;
106 static Dart_ExceptionThrownHandler* exc_thrown_handler = NULL; 106 static Dart_ExceptionThrownHandler* exc_thrown_handler = NULL;
107 static Dart_IsolateEventHandler* isolate_event_handler = NULL; 107 static Dart_IsolateEventHandler* isolate_event_handler = NULL;
108 108
109 109
110 static void DebuggerEventHandler(DebuggerEvent* event) { 110 static void DebuggerEventHandler(DebuggerEvent* event) {
111 Isolate* isolate = Isolate::Current(); 111 Thread* thread = Thread::Current();
112 Isolate* isolate = thread->isolate();
112 ASSERT(isolate != NULL); 113 ASSERT(isolate != NULL);
113 Dart_EnterScope(); 114 Dart_EnterScope();
114 Dart_IsolateId isolate_id = isolate->debugger()->GetIsolateId(); 115 Dart_IsolateId isolate_id = isolate->debugger()->GetIsolateId();
115 if (event->type() == DebuggerEvent::kBreakpointReached) { 116 if (event->type() == DebuggerEvent::kBreakpointReached) {
116 if (paused_event_handler != NULL) { 117 if (paused_event_handler != NULL) {
117 Dart_CodeLocation location; 118 Dart_CodeLocation location;
118 ActivationFrame* top_frame = event->top_frame(); 119 ActivationFrame* top_frame = event->top_frame();
119 location.script_url = Api::NewHandle(isolate, top_frame->SourceUrl()); 120 location.script_url = Api::NewHandle(isolate, top_frame->SourceUrl());
120 const Library& lib = Library::Handle(top_frame->Library()); 121 const Library& lib = Library::Handle(top_frame->Library());
121 location.library_id = lib.index(); 122 location.library_id = lib.index();
122 location.token_pos = top_frame->TokenPos(); 123 location.token_pos = top_frame->TokenPos();
123 intptr_t bp_id = 0; 124 intptr_t bp_id = 0;
124 if (event->breakpoint() != NULL) { 125 if (event->breakpoint() != NULL) {
125 ASSERT(event->breakpoint()->id() != ILLEGAL_BREAKPOINT_ID); 126 ASSERT(event->breakpoint()->id() != ILLEGAL_BREAKPOINT_ID);
126 bp_id = event->breakpoint()->id(); 127 bp_id = event->breakpoint()->id();
127 } 128 }
128 (*paused_event_handler)(isolate_id, bp_id, location); 129 (*paused_event_handler)(isolate_id, bp_id, location);
129 } 130 }
130 } else if (event->type() == DebuggerEvent::kBreakpointResolved) { 131 } else if (event->type() == DebuggerEvent::kBreakpointResolved) {
131 if (bp_resolved_handler != NULL) { 132 if (bp_resolved_handler != NULL) {
132 Breakpoint* bpt = event->breakpoint(); 133 Breakpoint* bpt = event->breakpoint();
133 ASSERT(bpt != NULL); 134 ASSERT(bpt != NULL);
134 Dart_CodeLocation location; 135 Dart_CodeLocation location;
135 Library& library = Library::Handle(isolate); 136 Zone* zone = thread->zone();
136 Script& script = Script::Handle(isolate); 137 Library& library = Library::Handle(zone);
138 Script& script = Script::Handle(zone);
137 intptr_t token_pos; 139 intptr_t token_pos;
138 bpt->bpt_location()->GetCodeLocation(&library, &script, &token_pos); 140 bpt->bpt_location()->GetCodeLocation(&library, &script, &token_pos);
139 location.script_url = Api::NewHandle(isolate, script.url()); 141 location.script_url = Api::NewHandle(isolate, script.url());
140 location.library_id = library.index(); 142 location.library_id = library.index();
141 location.token_pos = token_pos; 143 location.token_pos = token_pos;
142 (*bp_resolved_handler)(isolate_id, bpt->id(), location); 144 (*bp_resolved_handler)(isolate_id, bpt->id(), location);
143 } 145 }
144 } else if (event->type() == DebuggerEvent::kExceptionThrown) { 146 } else if (event->type() == DebuggerEvent::kExceptionThrown) {
145 if (exc_thrown_handler != NULL) { 147 if (exc_thrown_handler != NULL) {
146 Dart_Handle exception = 148 Dart_Handle exception =
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 478
477 DART_EXPORT Dart_Handle Dart_GetInstanceFields(Dart_Handle object_in) { 479 DART_EXPORT Dart_Handle Dart_GetInstanceFields(Dart_Handle object_in) {
478 DARTSCOPE(Thread::Current()); 480 DARTSCOPE(Thread::Current());
479 UNWRAP_AND_CHECK_PARAM(Instance, obj, object_in); 481 UNWRAP_AND_CHECK_PARAM(Instance, obj, object_in);
480 return Api::NewHandle(I, I->debugger()->GetInstanceFields(obj)); 482 return Api::NewHandle(I, I->debugger()->GetInstanceFields(obj));
481 } 483 }
482 484
483 485
484 DART_EXPORT Dart_Handle Dart_GetStaticFields(Dart_Handle target) { 486 DART_EXPORT Dart_Handle Dart_GetStaticFields(Dart_Handle target) {
485 DARTSCOPE(Thread::Current()); 487 DARTSCOPE(Thread::Current());
486 const Type& type_obj = Api::UnwrapTypeHandle(I, target); 488 const Type& type_obj = Api::UnwrapTypeHandle(Z, target);
487 if (type_obj.IsNull()) { 489 if (type_obj.IsNull()) {
488 return Api::NewError("%s expects argument 'target' to be a type", 490 return Api::NewError("%s expects argument 'target' to be a type",
489 CURRENT_FUNC); 491 CURRENT_FUNC);
490 } 492 }
491 const Class& cls = Class::Handle(Z, type_obj.type_class()); 493 const Class& cls = Class::Handle(Z, type_obj.type_class());
492 return Api::NewHandle(I, I->debugger()->GetStaticFields(cls)); 494 return Api::NewHandle(I, I->debugger()->GetStaticFields(cls));
493 } 495 }
494 496
495 497
496 DART_EXPORT Dart_Handle Dart_GetLibraryFields(intptr_t library_id) { 498 DART_EXPORT Dart_Handle Dart_GetLibraryFields(intptr_t library_id) {
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 return Api::NewError("%s: %" Pd " is not a valid library id", 833 return Api::NewError("%s: %" Pd " is not a valid library id",
832 CURRENT_FUNC, library_id); 834 CURRENT_FUNC, library_id);
833 } 835 }
834 return Api::NewHandle(I, lib.raw()); 836 return Api::NewHandle(I, lib.raw());
835 } 837 }
836 838
837 839
838 DART_EXPORT Dart_Handle Dart_LibraryId(Dart_Handle library, 840 DART_EXPORT Dart_Handle Dart_LibraryId(Dart_Handle library,
839 intptr_t* library_id) { 841 intptr_t* library_id) {
840 DARTSCOPE(Thread::Current()); 842 DARTSCOPE(Thread::Current());
841 const Library& lib = Api::UnwrapLibraryHandle(I, library); 843 const Library& lib = Api::UnwrapLibraryHandle(Z, library);
842 if (lib.IsNull()) { 844 if (lib.IsNull()) {
843 RETURN_TYPE_ERROR(I, library, Library); 845 RETURN_TYPE_ERROR(Z, library, Library);
844 } 846 }
845 if (library_id == NULL) { 847 if (library_id == NULL) {
846 RETURN_NULL_ERROR(library_id); 848 RETURN_NULL_ERROR(library_id);
847 } 849 }
848 *library_id = lib.index(); 850 *library_id = lib.index();
849 return Api::Success(); 851 return Api::Success();
850 } 852 }
851 853
852 854
853 DART_EXPORT Dart_Handle Dart_GetLibraryImports(intptr_t library_id) { 855 DART_EXPORT Dart_Handle Dart_GetLibraryImports(intptr_t library_id) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 return Api::CastIsolate(isolate); 932 return Api::CastIsolate(isolate);
931 } 933 }
932 934
933 935
934 DART_EXPORT Dart_IsolateId Dart_GetIsolateId(Dart_Isolate dart_isolate) { 936 DART_EXPORT Dart_IsolateId Dart_GetIsolateId(Dart_Isolate dart_isolate) {
935 Isolate* isolate = reinterpret_cast<Isolate*>(dart_isolate); 937 Isolate* isolate = reinterpret_cast<Isolate*>(dart_isolate);
936 return isolate->debugger()->GetIsolateId(); 938 return isolate->debugger()->GetIsolateId();
937 } 939 }
938 940
939 } // namespace dart 941 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | runtime/vm/debugger_api_impl_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698