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

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

Issue 2580823003: Rename snapshot kind enum values kAppWithJIT -> kAppJIT, kAppNoJIT -> kAppAOT. (Closed)
Patch Set: Created 4 years 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/dart.cc ('k') | runtime/vm/megamorphic_cache_table.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 "platform/assert.h" 9 #include "platform/assert.h"
10 #include "lib/stacktrace.h" 10 #include "lib/stacktrace.h"
(...skipping 3858 matching lines...) Expand 10 before | Expand all | Expand 10 after
3869 redirect_type ^= redirect_type.Canonicalize(); 3869 redirect_type ^= redirect_type.Canonicalize();
3870 } 3870 }
3871 3871
3872 type_obj = redirect_type.raw(); 3872 type_obj = redirect_type.raw();
3873 type_arguments = redirect_type.arguments(); 3873 type_arguments = redirect_type.arguments();
3874 3874
3875 cls = type_obj.type_class(); 3875 cls = type_obj.type_class();
3876 } 3876 }
3877 if (constructor.IsGenerativeConstructor()) { 3877 if (constructor.IsGenerativeConstructor()) {
3878 #if defined(DEBUG) 3878 #if defined(DEBUG)
3879 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppNoJIT)) { 3879 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppAOT)) {
3880 return Api::NewError("Precompilation dropped '%s'", cls.ToCString()); 3880 return Api::NewError("Precompilation dropped '%s'", cls.ToCString());
3881 } 3881 }
3882 #endif 3882 #endif
3883 // Create the new object. 3883 // Create the new object.
3884 new_object = Instance::New(cls); 3884 new_object = Instance::New(cls);
3885 } 3885 }
3886 3886
3887 // Create the argument list. 3887 // Create the argument list.
3888 intptr_t arg_index = 0; 3888 intptr_t arg_index = 0;
3889 int extra_args = 1; 3889 int extra_args = 1;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
3964 DARTSCOPE(Thread::Current()); 3964 DARTSCOPE(Thread::Current());
3965 CHECK_CALLBACK_STATE(T); 3965 CHECK_CALLBACK_STATE(T);
3966 3966
3967 const Type& type_obj = Api::UnwrapTypeHandle(Z, type); 3967 const Type& type_obj = Api::UnwrapTypeHandle(Z, type);
3968 // Get the class to instantiate. 3968 // Get the class to instantiate.
3969 if (type_obj.IsNull()) { 3969 if (type_obj.IsNull()) {
3970 RETURN_TYPE_ERROR(Z, type, Type); 3970 RETURN_TYPE_ERROR(Z, type, Type);
3971 } 3971 }
3972 const Class& cls = Class::Handle(Z, type_obj.type_class()); 3972 const Class& cls = Class::Handle(Z, type_obj.type_class());
3973 #if defined(DEBUG) 3973 #if defined(DEBUG)
3974 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppNoJIT)) { 3974 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppAOT)) {
3975 return Api::NewError("Precompilation dropped '%s'", cls.ToCString()); 3975 return Api::NewError("Precompilation dropped '%s'", cls.ToCString());
3976 } 3976 }
3977 #endif 3977 #endif
3978 const Error& error = Error::Handle(Z, cls.EnsureIsFinalized(T)); 3978 const Error& error = Error::Handle(Z, cls.EnsureIsFinalized(T));
3979 if (!error.IsNull()) { 3979 if (!error.IsNull()) {
3980 // An error occurred, return error object. 3980 // An error occurred, return error object.
3981 return Api::NewHandle(T, error.raw()); 3981 return Api::NewHandle(T, error.raw());
3982 } 3982 }
3983 return Api::NewHandle(T, AllocateObject(T, cls)); 3983 return Api::NewHandle(T, AllocateObject(T, cls));
3984 } 3984 }
3985 3985
3986 3986
3987 DART_EXPORT Dart_Handle 3987 DART_EXPORT Dart_Handle
3988 Dart_AllocateWithNativeFields(Dart_Handle type, 3988 Dart_AllocateWithNativeFields(Dart_Handle type,
3989 intptr_t num_native_fields, 3989 intptr_t num_native_fields,
3990 const intptr_t* native_fields) { 3990 const intptr_t* native_fields) {
3991 DARTSCOPE(Thread::Current()); 3991 DARTSCOPE(Thread::Current());
3992 CHECK_CALLBACK_STATE(T); 3992 CHECK_CALLBACK_STATE(T);
3993 3993
3994 const Type& type_obj = Api::UnwrapTypeHandle(Z, type); 3994 const Type& type_obj = Api::UnwrapTypeHandle(Z, type);
3995 // Get the class to instantiate. 3995 // Get the class to instantiate.
3996 if (type_obj.IsNull()) { 3996 if (type_obj.IsNull()) {
3997 RETURN_TYPE_ERROR(Z, type, Type); 3997 RETURN_TYPE_ERROR(Z, type, Type);
3998 } 3998 }
3999 if (native_fields == NULL) { 3999 if (native_fields == NULL) {
4000 RETURN_NULL_ERROR(native_fields); 4000 RETURN_NULL_ERROR(native_fields);
4001 } 4001 }
4002 const Class& cls = Class::Handle(Z, type_obj.type_class()); 4002 const Class& cls = Class::Handle(Z, type_obj.type_class());
4003 #if defined(DEBUG) 4003 #if defined(DEBUG)
4004 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppNoJIT)) { 4004 if (!cls.is_allocated() && (Dart::snapshot_kind() == Snapshot::kAppAOT)) {
4005 return Api::NewError("Precompilation dropped '%s'", cls.ToCString()); 4005 return Api::NewError("Precompilation dropped '%s'", cls.ToCString());
4006 } 4006 }
4007 #endif 4007 #endif
4008 const Error& error = Error::Handle(Z, cls.EnsureIsFinalized(T)); 4008 const Error& error = Error::Handle(Z, cls.EnsureIsFinalized(T));
4009 if (!error.IsNull()) { 4009 if (!error.IsNull()) {
4010 // An error occurred, return error object. 4010 // An error occurred, return error object.
4011 return Api::NewHandle(T, error.raw()); 4011 return Api::NewHandle(T, error.raw());
4012 } 4012 }
4013 if (num_native_fields != cls.num_native_fields()) { 4013 if (num_native_fields != cls.num_native_fields()) {
4014 return Api::NewError( 4014 return Api::NewError(
(...skipping 2496 matching lines...) Expand 10 before | Expand all | Expand 10 after
6511 if (assembly_size == NULL) { 6511 if (assembly_size == NULL) {
6512 RETURN_NULL_ERROR(assembly_size); 6512 RETURN_NULL_ERROR(assembly_size);
6513 } 6513 }
6514 6514
6515 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(), 6515 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
6516 "WriteAppAOTSnapshot")); 6516 "WriteAppAOTSnapshot"));
6517 AssemblyInstructionsWriter instructions_writer(assembly_buffer, ApiReallocate, 6517 AssemblyInstructionsWriter instructions_writer(assembly_buffer, ApiReallocate,
6518 2 * MB /* initial_size */); 6518 2 * MB /* initial_size */);
6519 uint8_t* vm_isolate_snapshot_buffer = NULL; 6519 uint8_t* vm_isolate_snapshot_buffer = NULL;
6520 uint8_t* isolate_snapshot_buffer = NULL; 6520 uint8_t* isolate_snapshot_buffer = NULL;
6521 FullSnapshotWriter writer(Snapshot::kAppNoJIT, &vm_isolate_snapshot_buffer, 6521 FullSnapshotWriter writer(Snapshot::kAppAOT, &vm_isolate_snapshot_buffer,
6522 &isolate_snapshot_buffer, ApiReallocate, 6522 &isolate_snapshot_buffer, ApiReallocate,
6523 &instructions_writer); 6523 &instructions_writer);
6524 6524
6525 writer.WriteFullSnapshot(); 6525 writer.WriteFullSnapshot();
6526 *assembly_size = instructions_writer.AssemblySize(); 6526 *assembly_size = instructions_writer.AssemblySize();
6527 6527
6528 return Api::Success(); 6528 return Api::Success();
6529 #endif 6529 #endif
6530 } 6530 }
6531 6531
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
6576 } 6576 }
6577 if (rodata_blob_size == NULL) { 6577 if (rodata_blob_size == NULL) {
6578 RETURN_NULL_ERROR(instructions_blob_size); 6578 RETURN_NULL_ERROR(instructions_blob_size);
6579 } 6579 }
6580 6580
6581 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(), 6581 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
6582 "WriteAppAOTSnapshot")); 6582 "WriteAppAOTSnapshot"));
6583 BlobInstructionsWriter instructions_writer(instructions_blob_buffer, 6583 BlobInstructionsWriter instructions_writer(instructions_blob_buffer,
6584 rodata_blob_buffer, ApiReallocate, 6584 rodata_blob_buffer, ApiReallocate,
6585 2 * MB /* initial_size */); 6585 2 * MB /* initial_size */);
6586 FullSnapshotWriter writer(Snapshot::kAppNoJIT, vm_isolate_snapshot_buffer, 6586 FullSnapshotWriter writer(Snapshot::kAppAOT, vm_isolate_snapshot_buffer,
6587 isolate_snapshot_buffer, ApiReallocate, 6587 isolate_snapshot_buffer, ApiReallocate,
6588 &instructions_writer); 6588 &instructions_writer);
6589 6589
6590 writer.WriteFullSnapshot(); 6590 writer.WriteFullSnapshot();
6591 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize(); 6591 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize();
6592 *isolate_snapshot_size = writer.IsolateSnapshotSize(); 6592 *isolate_snapshot_size = writer.IsolateSnapshotSize();
6593 *instructions_blob_size = instructions_writer.InstructionsBlobSize(); 6593 *instructions_blob_size = instructions_writer.InstructionsBlobSize();
6594 *rodata_blob_size = instructions_writer.RodataBlobSize(); 6594 *rodata_blob_size = instructions_writer.RodataBlobSize();
6595 6595
6596 return Api::Success(); 6596 return Api::Success();
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
6681 if (::Dart_IsError(state)) { 6681 if (::Dart_IsError(state)) {
6682 return state; 6682 return state;
6683 } 6683 }
6684 I->StopBackgroundCompiler(); 6684 I->StopBackgroundCompiler();
6685 6685
6686 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(), 6686 NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
6687 "WriteAppJITSnapshot")); 6687 "WriteAppJITSnapshot"));
6688 BlobInstructionsWriter instructions_writer(instructions_blob_buffer, 6688 BlobInstructionsWriter instructions_writer(instructions_blob_buffer,
6689 rodata_blob_buffer, ApiReallocate, 6689 rodata_blob_buffer, ApiReallocate,
6690 2 * MB /* initial_size */); 6690 2 * MB /* initial_size */);
6691 FullSnapshotWriter writer(Snapshot::kAppWithJIT, vm_isolate_snapshot_buffer, 6691 FullSnapshotWriter writer(Snapshot::kAppJIT, vm_isolate_snapshot_buffer,
6692 isolate_snapshot_buffer, ApiReallocate, 6692 isolate_snapshot_buffer, ApiReallocate,
6693 &instructions_writer); 6693 &instructions_writer);
6694 writer.WriteFullSnapshot(); 6694 writer.WriteFullSnapshot();
6695 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize(); 6695 *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize();
6696 *isolate_snapshot_size = writer.IsolateSnapshotSize(); 6696 *isolate_snapshot_size = writer.IsolateSnapshotSize();
6697 *instructions_blob_size = instructions_writer.InstructionsBlobSize(); 6697 *instructions_blob_size = instructions_writer.InstructionsBlobSize();
6698 *rodata_blob_size = instructions_writer.RodataBlobSize(); 6698 *rodata_blob_size = instructions_writer.RodataBlobSize();
6699 6699
6700 return Api::Success(); 6700 return Api::Success();
6701 #endif 6701 #endif
6702 } 6702 }
6703 6703
6704 6704
6705 DART_EXPORT bool Dart_IsPrecompiledRuntime() { 6705 DART_EXPORT bool Dart_IsPrecompiledRuntime() {
6706 #if defined(DART_PRECOMPILED_RUNTIME) 6706 #if defined(DART_PRECOMPILED_RUNTIME)
6707 return true; 6707 return true;
6708 #else 6708 #else
6709 return false; 6709 return false;
6710 #endif 6710 #endif
6711 } 6711 }
6712 6712
6713 6713
6714 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) { 6714 DART_EXPORT void Dart_DumpNativeStackTrace(void* context) {
6715 #ifndef PRODUCT 6715 #ifndef PRODUCT
6716 Profiler::DumpStackTrace(context); 6716 Profiler::DumpStackTrace(context);
6717 #endif 6717 #endif
6718 } 6718 }
6719 6719
6720 } // namespace dart 6720 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/dart.cc ('k') | runtime/vm/megamorphic_cache_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698