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

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

Issue 1701383002: VM service fixes for noopt/precompiled. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | runtime/vm/service.cc » ('j') | runtime/vm/service.cc » ('J')
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 #include "vm/isolate.h" 5 #include "vm/isolate.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/text_buffer.h" 10 #include "platform/text_buffer.h"
(...skipping 1933 matching lines...) Expand 10 before | Expand all | Expand 10 after
1944 { 1944 {
1945 JSONObject jsheap(&jsobj, "_heaps"); 1945 JSONObject jsheap(&jsobj, "_heaps");
1946 heap()->PrintToJSONObject(Heap::kNew, &jsheap); 1946 heap()->PrintToJSONObject(Heap::kNew, &jsheap);
1947 heap()->PrintToJSONObject(Heap::kOld, &jsheap); 1947 heap()->PrintToJSONObject(Heap::kOld, &jsheap);
1948 } 1948 }
1949 1949
1950 jsobj.AddProperty("runnable", is_runnable()); 1950 jsobj.AddProperty("runnable", is_runnable());
1951 jsobj.AddProperty("livePorts", message_handler()->live_ports()); 1951 jsobj.AddProperty("livePorts", message_handler()->live_ports());
1952 jsobj.AddProperty("pauseOnExit", message_handler()->should_pause_on_exit()); 1952 jsobj.AddProperty("pauseOnExit", message_handler()->should_pause_on_exit());
1953 1953
1954 if (message_handler()->is_paused_on_start()) { 1954 if (debugger() != NULL) {
1955 ASSERT(debugger()->PauseEvent() == NULL); 1955 if (message_handler()->is_paused_on_start()) {
1956 ServiceEvent pause_event(this, ServiceEvent::kPauseStart); 1956 ASSERT(debugger()->PauseEvent() == NULL);
1957 jsobj.AddProperty("pauseEvent", &pause_event); 1957 ServiceEvent pause_event(this, ServiceEvent::kPauseStart);
1958 } else if (message_handler()->is_paused_on_exit()) { 1958 jsobj.AddProperty("pauseEvent", &pause_event);
1959 ASSERT(debugger()->PauseEvent() == NULL); 1959 } else if (message_handler()->is_paused_on_exit()) {
1960 ServiceEvent pause_event(this, ServiceEvent::kPauseExit); 1960 ASSERT(debugger()->PauseEvent() == NULL);
1961 jsobj.AddProperty("pauseEvent", &pause_event); 1961 ServiceEvent pause_event(this, ServiceEvent::kPauseExit);
1962 } else if (debugger()->PauseEvent() != NULL && !resume_request_) { 1962 jsobj.AddProperty("pauseEvent", &pause_event);
1963 ServiceEvent pause_event(debugger()->PauseEvent()); 1963 } else if (debugger()->PauseEvent() != NULL && !resume_request_) {
1964 jsobj.AddProperty("pauseEvent", &pause_event); 1964 ServiceEvent pause_event(debugger()->PauseEvent());
1965 } else { 1965 jsobj.AddProperty("pauseEvent", &pause_event);
1966 ServiceEvent pause_event(this, ServiceEvent::kResume); 1966 } else {
1967 ServiceEvent pause_event(this, ServiceEvent::kResume);
1967 1968
1968 // TODO(turnidge): Don't compute a full stack trace. 1969 // TODO(turnidge): Don't compute a full stack trace.
1969 DebuggerStackTrace* stack = debugger()->StackTrace(); 1970 DebuggerStackTrace* stack = debugger()->StackTrace();
1970 if (stack->Length() > 0) { 1971 if (stack->Length() > 0) {
1971 pause_event.set_top_frame(stack->FrameAt(0)); 1972 pause_event.set_top_frame(stack->FrameAt(0));
1973 }
1974 jsobj.AddProperty("pauseEvent", &pause_event);
1972 } 1975 }
1973 jsobj.AddProperty("pauseEvent", &pause_event); 1976
1977 jsobj.AddProperty("exceptionPauseMode",
1978 ExceptionPauseInfoToServiceEnum(debugger()->GetExceptionPauseInfo()));
1974 } 1979 }
1975 1980
1976 jsobj.AddProperty("exceptionPauseMode",
1977 ExceptionPauseInfoToServiceEnum(debugger()->GetExceptionPauseInfo()));
1978
1979 const Library& lib = 1981 const Library& lib =
1980 Library::Handle(object_store()->root_library()); 1982 Library::Handle(object_store()->root_library());
1981 if (!lib.IsNull()) { 1983 if (!lib.IsNull()) {
1982 jsobj.AddProperty("rootLib", lib); 1984 jsobj.AddProperty("rootLib", lib);
1983 } 1985 }
1984 1986
1985 { 1987 {
1986 JSONObject tagCounters(&jsobj, "_tagCounters"); 1988 JSONObject tagCounters(&jsobj, "_tagCounters");
1987 vm_tag_counters()->PrintToJSONObject(&tagCounters); 1989 vm_tag_counters()->PrintToJSONObject(&tagCounters);
1988 } 1990 }
1989 if (Thread::Current()->sticky_error() != Object::null()) { 1991 if (Thread::Current()->sticky_error() != Object::null()) {
1990 Error& error = Error::Handle(Thread::Current()->sticky_error()); 1992 Error& error = Error::Handle(Thread::Current()->sticky_error());
1991 ASSERT(!error.IsNull()); 1993 ASSERT(!error.IsNull());
1992 jsobj.AddProperty("error", error, false); 1994 jsobj.AddProperty("error", error, false);
1993 } 1995 }
1994 1996
1995 { 1997 {
1996 const GrowableObjectArray& libs = 1998 const GrowableObjectArray& libs =
1997 GrowableObjectArray::Handle(object_store()->libraries()); 1999 GrowableObjectArray::Handle(object_store()->libraries());
1998 intptr_t num_libs = libs.Length(); 2000 intptr_t num_libs = libs.Length();
1999 Library& lib = Library::Handle(); 2001 Library& lib = Library::Handle();
2000 2002
2001 JSONArray lib_array(&jsobj, "libraries"); 2003 JSONArray lib_array(&jsobj, "libraries");
2002 for (intptr_t i = 0; i < num_libs; i++) { 2004 for (intptr_t i = 0; i < num_libs; i++) {
2003 lib ^= libs.At(i); 2005 lib ^= libs.At(i);
2004 ASSERT(!lib.IsNull()); 2006 ASSERT(!lib.IsNull());
2005 lib_array.AddValue(lib); 2007 lib_array.AddValue(lib);
2006 } 2008 }
2007 } 2009 }
2008 { 2010
2009 JSONArray breakpoints(&jsobj, "breakpoints"); 2011 if (debugger() != NULL) {
2010 debugger()->PrintBreakpointsToJSONArray(&breakpoints); 2012 {
2013 JSONArray breakpoints(&jsobj, "breakpoints");
2014 debugger()->PrintBreakpointsToJSONArray(&breakpoints);
2015 }
2016
2017 {
2018 JSONObject jssettings(&jsobj, "_debuggerSettings");
2019 debugger()->PrintSettingsToJSONObject(&jssettings);
2020 }
2011 } 2021 }
2012 2022
2013 { 2023 {
2014 JSONObject jssettings(&jsobj, "_debuggerSettings");
2015 debugger()->PrintSettingsToJSONObject(&jssettings);
2016 }
2017
2018 {
2019 GrowableObjectArray& handlers = 2024 GrowableObjectArray& handlers =
2020 GrowableObjectArray::Handle(registered_service_extension_handlers()); 2025 GrowableObjectArray::Handle(registered_service_extension_handlers());
2021 if (!handlers.IsNull()) { 2026 if (!handlers.IsNull()) {
2022 JSONArray extensions(&jsobj, "extensionRPCs"); 2027 JSONArray extensions(&jsobj, "extensionRPCs");
2023 String& handler_name = String::Handle(); 2028 String& handler_name = String::Handle();
2024 for (intptr_t i = 0; i < handlers.Length(); i += kRegisteredEntrySize) { 2029 for (intptr_t i = 0; i < handlers.Length(); i += kRegisteredEntrySize) {
2025 handler_name ^= handlers.At(i + kRegisteredNameIndex); 2030 handler_name ^= handlers.At(i + kRegisteredNameIndex);
2026 extensions.AddValue(handler_name.ToCString()); 2031 extensions.AddValue(handler_name.ToCString());
2027 } 2032 }
2028 } 2033 }
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
2813 void IsolateSpawnState::DecrementSpawnCount() { 2818 void IsolateSpawnState::DecrementSpawnCount() {
2814 ASSERT(spawn_count_monitor_ != NULL); 2819 ASSERT(spawn_count_monitor_ != NULL);
2815 ASSERT(spawn_count_ != NULL); 2820 ASSERT(spawn_count_ != NULL);
2816 MonitorLocker ml(spawn_count_monitor_); 2821 MonitorLocker ml(spawn_count_monitor_);
2817 ASSERT(*spawn_count_ > 0); 2822 ASSERT(*spawn_count_ > 0);
2818 *spawn_count_ = *spawn_count_ - 1; 2823 *spawn_count_ = *spawn_count_ - 1;
2819 ml.Notify(); 2824 ml.Notify();
2820 } 2825 }
2821 2826
2822 } // namespace dart 2827 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/service.cc » ('j') | runtime/vm/service.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698