In case the script snapshotter fails on Dart_Initialize, dump the message. (#2681)

This commit is contained in:
Chinmay Garde
2016-05-11 16:01:02 -07:00
parent 8295deb1ec
commit 359baffe8f

View File

@@ -8,6 +8,8 @@
#include "sky/tools/sky_snapshot/loader.h"
#include "sky/tools/sky_snapshot/logging.h"
#include <iostream>
extern "C" {
extern void* kDartVmIsolateSnapshotBuffer;
extern void* kDartIsolateSnapshotBuffer;
@@ -26,10 +28,15 @@ static const char* kDartArgs[] = {
void InitDartVM() {
CHECK(Dart_SetVMFlags(arraysize(kDartArgs), kDartArgs));
CHECK(Dart_Initialize(
reinterpret_cast<uint8_t*>(&kDartVmIsolateSnapshotBuffer), nullptr,
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
nullptr, nullptr, nullptr, nullptr, nullptr) == nullptr);
char* init_message = Dart_Initialize(
reinterpret_cast<uint8_t*>(&kDartVmIsolateSnapshotBuffer), nullptr,
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
nullptr, nullptr, nullptr, nullptr);
if (init_message != nullptr) {
std::cerr << "Dart_Initialize Error: " << init_message << std::endl;
free(init_message);
CHECK(false);
}
}
Dart_Isolate CreateDartIsolate() {