Index: runtime/vm/dart_api_impl.cc |
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
index eed7789bca86aae03f9e07c088014a73247366f0..95ae6489578def24c47d22b6155ebb5caa367261 100644 |
--- a/runtime/vm/dart_api_impl.cc |
+++ b/runtime/vm/dart_api_impl.cc |
@@ -1463,7 +1463,7 @@ DART_EXPORT Dart_Handle Dart_CreateSnapshot( |
API_TIMELINE_DURATION; |
Isolate* I = T->isolate(); |
if (!FLAG_load_deferred_eagerly) { |
- return Dart_NewApiError( |
+ return Api::NewError( |
"Creating full snapshots requires --load_deferred_eagerly"); |
} |
if (vm_isolate_snapshot_buffer != NULL && |
@@ -6131,10 +6131,13 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob( |
DART_EXPORT Dart_Handle Dart_Precompile( |
Dart_QualifiedFunctionName entry_points[], |
bool reset_fields) { |
+#if defined(TARGET_ARCH_IA32) |
+ return Api::NewError("Precompilation is not supported on IA32."); |
+#else |
API_TIMELINE_BEGIN_END; |
DARTSCOPE(Thread::Current()); |
if (!FLAG_precompiled_mode) { |
- return Dart_NewApiError("Flag --precompilation was not specified."); |
+ return Api::NewError("Flag --precompilation was not specified."); |
} |
Dart_Handle result = Api::CheckAndFinalizePendingClasses(T); |
if (::Dart_IsError(result)) { |
@@ -6147,6 +6150,7 @@ DART_EXPORT Dart_Handle Dart_Precompile( |
return Api::NewHandle(T, error.raw()); |
} |
return Api::Success(); |
+#endif |
} |
@@ -6157,12 +6161,15 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly( |
intptr_t* isolate_snapshot_size, |
uint8_t** assembly_buffer, |
intptr_t* assembly_size) { |
+#if defined(TARGET_ARCH_IA32) |
+ return Api::NewError("Snapshots with code are not supported on IA32."); |
+#else |
API_TIMELINE_DURATION; |
DARTSCOPE(Thread::Current()); |
Isolate* I = T->isolate(); |
if (I->compilation_allowed()) { |
- return Dart_NewApiError("Isolate is not precompiled. " |
- "Did you forget to call Dart_Precompile?"); |
+ return Api::NewError("Isolate is not precompiled. " |
+ "Did you forget to call Dart_Precompile?"); |
} |
ASSERT(FLAG_load_deferred_eagerly); |
if (vm_isolate_snapshot_buffer == NULL) { |
@@ -6201,6 +6208,7 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly( |
*assembly_size = instructions_writer.AssemblySize(); |
return Api::Success(); |
+#endif |
} |
@@ -6213,12 +6221,15 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob( |
intptr_t* instructions_blob_size, |
uint8_t** rodata_blob_buffer, |
intptr_t* rodata_blob_size) { |
+#if defined(TARGET_ARCH_IA32) |
+ return Api::NewError("Snapshots with code are not supported on IA32."); |
+#else |
API_TIMELINE_DURATION; |
DARTSCOPE(Thread::Current()); |
Isolate* I = T->isolate(); |
if (I->compilation_allowed()) { |
- return Dart_NewApiError("Isolate is not precompiled. " |
- "Did you forget to call Dart_Precompile?"); |
+ return Api::NewError("Isolate is not precompiled. " |
+ "Did you forget to call Dart_Precompile?"); |
} |
ASSERT(FLAG_load_deferred_eagerly); |
if (vm_isolate_snapshot_buffer == NULL) { |
@@ -6265,6 +6276,7 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob( |
*rodata_blob_size = instructions_writer.RodataBlobSize(); |
return Api::Success(); |
+#endif |
} |
#endif // DART_PRECOMPILER |
@@ -6301,7 +6313,7 @@ DART_EXPORT Dart_Handle Dart_PrecompileJIT() { |
} |
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledJITSnapshotBlob( |
+DART_EXPORT Dart_Handle Dart_CreateAppJITSnapshot( |
uint8_t** vm_isolate_snapshot_buffer, |
intptr_t* vm_isolate_snapshot_size, |
uint8_t** isolate_snapshot_buffer, |
@@ -6310,11 +6322,14 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledJITSnapshotBlob( |
intptr_t* instructions_blob_size, |
uint8_t** rodata_blob_buffer, |
intptr_t* rodata_blob_size) { |
+#if defined(TARGET_ARCH_IA32) |
+ return Api::NewError("Snapshots with code are not supported on IA32."); |
+#else |
API_TIMELINE_DURATION; |
DARTSCOPE(Thread::Current()); |
Isolate* I = T->isolate(); |
if (!FLAG_load_deferred_eagerly) { |
- return Dart_NewApiError( |
+ return Api::NewError( |
"Creating full snapshots requires --load_deferred_eagerly"); |
} |
if (vm_isolate_snapshot_buffer == NULL) { |
@@ -6366,6 +6381,7 @@ DART_EXPORT Dart_Handle Dart_CreatePrecompiledJITSnapshotBlob( |
*rodata_blob_size = instructions_writer.RodataBlobSize(); |
return Api::Success(); |
+#endif |
} |