| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |