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

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

Issue 3004563003: Refactor Isolate name format, storage and log (Closed)
Patch Set: Make Dart_DebugName unique again Created 3 years, 3 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/compiler_stats.cc ('k') | runtime/vm/heap.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 #include "include/dart_api.h" 5 #include "include/dart_api.h"
6 #include "include/dart_mirrors_api.h" 6 #include "include/dart_mirrors_api.h"
7 #include "include/dart_native_api.h" 7 #include "include/dart_native_api.h"
8 8
9 #include "lib/stacktrace.h" 9 #include "lib/stacktrace.h"
10 #include "platform/assert.h" 10 #include "platform/assert.h"
(...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 } 1089 }
1090 const char* last_backslash = strrchr(script_uri, '\\'); 1090 const char* last_backslash = strrchr(script_uri, '\\');
1091 if (last_backslash != NULL) { 1091 if (last_backslash != NULL) {
1092 script_uri = last_backslash + 1; 1092 script_uri = last_backslash + 1;
1093 } 1093 }
1094 if (main == NULL) { 1094 if (main == NULL) {
1095 main = "main"; 1095 main = "main";
1096 } 1096 }
1097 1097
1098 char* chars = NULL; 1098 char* chars = NULL;
1099 intptr_t len = OS::SNPrint(NULL, 0, "%s$%s", script_uri, main) + 1; 1099 intptr_t len = OS::SNPrint(NULL, 0, "%s:%s()", script_uri, main) + 1;
1100 chars = reinterpret_cast<char*>(malloc(len)); 1100 chars = reinterpret_cast<char*>(malloc(len));
1101 OS::SNPrint(chars, len, "%s$%s", script_uri, main); 1101 OS::SNPrint(chars, len, "%s:%s()", script_uri, main);
1102 return chars; 1102 return chars;
1103 } 1103 }
1104 1104
1105 static Dart_Isolate CreateIsolate(const char* script_uri, 1105 static Dart_Isolate CreateIsolate(const char* script_uri,
1106 const char* main, 1106 const char* main,
1107 const uint8_t* snapshot_data, 1107 const uint8_t* snapshot_data,
1108 const uint8_t* snapshot_instructions, 1108 const uint8_t* snapshot_instructions,
1109 intptr_t snapshot_length, 1109 intptr_t snapshot_length,
1110 kernel::Program* kernel_program, 1110 kernel::Program* kernel_program,
1111 Dart_IsolateFlags* flags, 1111 Dart_IsolateFlags* flags,
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 FATAL1("%s expects argument 'isolate' to be non-null.", CURRENT_FUNC); 1228 FATAL1("%s expects argument 'isolate' to be non-null.", CURRENT_FUNC);
1229 } 1229 }
1230 // TODO(16615): Validate isolate parameter. 1230 // TODO(16615): Validate isolate parameter.
1231 Isolate* iso = reinterpret_cast<Isolate*>(isolate); 1231 Isolate* iso = reinterpret_cast<Isolate*>(isolate);
1232 return iso->init_callback_data(); 1232 return iso->init_callback_data();
1233 } 1233 }
1234 1234
1235 DART_EXPORT Dart_Handle Dart_DebugName() { 1235 DART_EXPORT Dart_Handle Dart_DebugName() {
1236 DARTSCOPE(Thread::Current()); 1236 DARTSCOPE(Thread::Current());
1237 Isolate* I = T->isolate(); 1237 Isolate* I = T->isolate();
1238 return Api::NewHandle(T, String::New(I->name())); 1238 return Api::NewHandle(
1239 T, String::NewFormatted("(%" Pd64 ") '%s'",
1240 static_cast<int64_t>(I->main_port()), I->name()));
1239 } 1241 }
1240 1242
1241 DART_EXPORT void Dart_EnterIsolate(Dart_Isolate isolate) { 1243 DART_EXPORT void Dart_EnterIsolate(Dart_Isolate isolate) {
1242 CHECK_NO_ISOLATE(Isolate::Current()); 1244 CHECK_NO_ISOLATE(Isolate::Current());
1243 // TODO(16615): Validate isolate parameter. 1245 // TODO(16615): Validate isolate parameter.
1244 Isolate* iso = reinterpret_cast<Isolate*>(isolate); 1246 Isolate* iso = reinterpret_cast<Isolate*>(isolate);
1245 if (!Thread::EnterIsolate(iso)) { 1247 if (!Thread::EnterIsolate(iso)) {
1246 FATAL( 1248 FATAL(
1247 "Unable to Enter Isolate : " 1249 "Unable to Enter Isolate : "
1248 "Multiple mutators entering an isolate / " 1250 "Multiple mutators entering an isolate / "
(...skipping 5452 matching lines...) Expand 10 before | Expand all | Expand 10 after
6701 #endif 6703 #endif
6702 } 6704 }
6703 6705
6704 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) { 6706 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) {
6705 #ifndef PRODUCT 6707 #ifndef PRODUCT
6706 Profiler::DumpStackTrace(context); 6708 Profiler::DumpStackTrace(context);
6707 #endif 6709 #endif
6708 } 6710 }
6709 6711
6710 } // namespace dart 6712 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/compiler_stats.cc ('k') | runtime/vm/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698