| 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/class_finalizer.h" | 10 #include "vm/class_finalizer.h" |
| (...skipping 5912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5923 ASSERT(stream != NULL); | 5923 ASSERT(stream != NULL); |
| 5924 TimelineEvent* event = stream->StartEvent(); | 5924 TimelineEvent* event = stream->StartEvent(); |
| 5925 if (event != NULL) { | 5925 if (event != NULL) { |
| 5926 event->AsyncEnd(label, async_id); | 5926 event->AsyncEnd(label, async_id); |
| 5927 event->Complete(); | 5927 event->Complete(); |
| 5928 } | 5928 } |
| 5929 return Api::Success(); | 5929 return Api::Success(); |
| 5930 } | 5930 } |
| 5931 | 5931 |
| 5932 | 5932 |
| 5933 static void Precompile(Isolate* isolate, Dart_Handle* result) { | 5933 DART_EXPORT Dart_Handle Dart_Precompile( |
| 5934 ASSERT(isolate != NULL); | 5934 Dart_QualifiedFunctionName entry_points[]) { |
| 5935 const Error& error = Error::Handle(isolate, Precompiler::CompileAll()); | |
| 5936 if (error.IsNull()) { | |
| 5937 *result = Api::Success(); | |
| 5938 } else { | |
| 5939 *result = Api::NewHandle(isolate, error.raw()); | |
| 5940 } | |
| 5941 } | |
| 5942 | |
| 5943 | |
| 5944 DART_EXPORT Dart_Handle Dart_Precompile() { | |
| 5945 DARTSCOPE(Thread::Current()); | 5935 DARTSCOPE(Thread::Current()); |
| 5946 Dart_Handle result = Api::CheckAndFinalizePendingClasses(I); | 5936 Dart_Handle result = Api::CheckAndFinalizePendingClasses(I); |
| 5947 if (::Dart_IsError(result)) { | 5937 if (::Dart_IsError(result)) { |
| 5948 return result; | 5938 return result; |
| 5949 } | 5939 } |
| 5950 CHECK_CALLBACK_STATE(I); | 5940 CHECK_CALLBACK_STATE(I); |
| 5951 Precompile(I, &result); | 5941 const Error& error = Error::Handle(Precompiler::CompileAll(entry_points)); |
| 5952 return result; | 5942 if (!error.IsNull()) { |
| 5943 return Api::NewHandle(I, error.raw()); |
| 5944 } |
| 5945 return Api::Success(); |
| 5953 } | 5946 } |
| 5954 | 5947 |
| 5955 | 5948 |
| 5956 DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshot( | 5949 DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshot( |
| 5957 uint8_t** vm_isolate_snapshot_buffer, | 5950 uint8_t** vm_isolate_snapshot_buffer, |
| 5958 intptr_t* vm_isolate_snapshot_size, | 5951 intptr_t* vm_isolate_snapshot_size, |
| 5959 uint8_t** isolate_snapshot_buffer, | 5952 uint8_t** isolate_snapshot_buffer, |
| 5960 intptr_t* isolate_snapshot_size, | 5953 intptr_t* isolate_snapshot_size, |
| 5961 uint8_t** instructions_snapshot_buffer, | 5954 uint8_t** instructions_snapshot_buffer, |
| 5962 intptr_t* instructions_snapshot_size) { | 5955 intptr_t* instructions_snapshot_size) { |
| (...skipping 29 matching lines...) Expand all Loading... |
| 5992 ApiReallocate); | 5985 ApiReallocate); |
| 5993 writer.WriteFullSnapshot(); | 5986 writer.WriteFullSnapshot(); |
| 5994 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize(); | 5987 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize(); |
| 5995 *isolate_snapshot_size = writer.IsolateSnapshotSize(); | 5988 *isolate_snapshot_size = writer.IsolateSnapshotSize(); |
| 5996 *instructions_snapshot_size = writer.InstructionsSnapshotSize(); | 5989 *instructions_snapshot_size = writer.InstructionsSnapshotSize(); |
| 5997 | 5990 |
| 5998 return Api::Success(); | 5991 return Api::Success(); |
| 5999 } | 5992 } |
| 6000 | 5993 |
| 6001 } // namespace dart | 5994 } // namespace dart |
| OLD | NEW |