| 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 "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "vm/bigint_operations.h" | 10 #include "vm/bigint_operations.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "vm/symbols.h" | 31 #include "vm/symbols.h" |
| 32 #include "vm/timer.h" | 32 #include "vm/timer.h" |
| 33 #include "vm/unicode.h" | 33 #include "vm/unicode.h" |
| 34 #include "vm/verifier.h" | 34 #include "vm/verifier.h" |
| 35 #include "vm/version.h" | 35 #include "vm/version.h" |
| 36 | 36 |
| 37 namespace dart { | 37 namespace dart { |
| 38 | 38 |
| 39 DECLARE_FLAG(bool, print_class_table); | 39 DECLARE_FLAG(bool, print_class_table); |
| 40 DECLARE_FLAG(bool, verify_handles); | 40 DECLARE_FLAG(bool, verify_handles); |
| 41 DEFINE_FLAG(bool, check_function_fingerprints, false, |
| 42 "Check function fingerprints"); |
| 41 DEFINE_FLAG(bool, trace_api, false, | 43 DEFINE_FLAG(bool, trace_api, false, |
| 42 "Trace invocation of API calls (debug mode only)"); | 44 "Trace invocation of API calls (debug mode only)"); |
| 43 | 45 |
| 44 ThreadLocalKey Api::api_native_key_ = Thread::kUnsetThreadLocalKey; | 46 ThreadLocalKey Api::api_native_key_ = Thread::kUnsetThreadLocalKey; |
| 45 Dart_Handle Api::true_handle_ = NULL; | 47 Dart_Handle Api::true_handle_ = NULL; |
| 46 Dart_Handle Api::false_handle_ = NULL; | 48 Dart_Handle Api::false_handle_ = NULL; |
| 47 Dart_Handle Api::null_handle_ = NULL; | 49 Dart_Handle Api::null_handle_ = NULL; |
| 48 | 50 |
| 49 | 51 |
| 50 const char* CanonicalFunction(const char* func) { | 52 const char* CanonicalFunction(const char* func) { |
| (...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 char* isolate_name = BuildIsolateName(script_uri, main); | 814 char* isolate_name = BuildIsolateName(script_uri, main); |
| 813 Isolate* isolate = Dart::CreateIsolate(isolate_name); | 815 Isolate* isolate = Dart::CreateIsolate(isolate_name); |
| 814 free(isolate_name); | 816 free(isolate_name); |
| 815 { | 817 { |
| 816 StackZone zone(isolate); | 818 StackZone zone(isolate); |
| 817 HANDLESCOPE(isolate); | 819 HANDLESCOPE(isolate); |
| 818 const Error& error_obj = | 820 const Error& error_obj = |
| 819 Error::Handle(isolate, | 821 Error::Handle(isolate, |
| 820 Dart::InitializeIsolate(snapshot, callback_data)); | 822 Dart::InitializeIsolate(snapshot, callback_data)); |
| 821 if (error_obj.IsNull()) { | 823 if (error_obj.IsNull()) { |
| 824 if (FLAG_check_function_fingerprints) { |
| 825 Library::CheckFunctionFingerprints(); |
| 826 } |
| 822 START_TIMER(time_total_runtime); | 827 START_TIMER(time_total_runtime); |
| 823 return reinterpret_cast<Dart_Isolate>(isolate); | 828 return reinterpret_cast<Dart_Isolate>(isolate); |
| 824 } | 829 } |
| 825 *error = strdup(error_obj.ToErrorCString()); | 830 *error = strdup(error_obj.ToErrorCString()); |
| 826 } | 831 } |
| 827 Dart::ShutdownIsolate(); | 832 Dart::ShutdownIsolate(); |
| 828 return reinterpret_cast<Dart_Isolate>(NULL); | 833 return reinterpret_cast<Dart_Isolate>(NULL); |
| 829 } | 834 } |
| 830 | 835 |
| 831 | 836 |
| (...skipping 3590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4422 } | 4427 } |
| 4423 { | 4428 { |
| 4424 NoGCScope no_gc; | 4429 NoGCScope no_gc; |
| 4425 RawObject* raw_obj = obj.raw(); | 4430 RawObject* raw_obj = obj.raw(); |
| 4426 isolate->heap()->SetPeer(raw_obj, peer); | 4431 isolate->heap()->SetPeer(raw_obj, peer); |
| 4427 } | 4432 } |
| 4428 return Api::Success(); | 4433 return Api::Success(); |
| 4429 } | 4434 } |
| 4430 | 4435 |
| 4431 } // namespace dart | 4436 } // namespace dart |
| OLD | NEW |