| Index: runtime/bin/loader.cc
|
| diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc
|
| index 4d35728d228eeeffe234ec83ad1fd1bf6a310ac7..d69def19f857ba943deb0db4c61c938685151b54 100644
|
| --- a/runtime/bin/loader.cc
|
| +++ b/runtime/bin/loader.cc
|
| @@ -336,15 +336,12 @@ bool Loader::ProcessResultLocked(Loader* loader, Loader::IOResult* result) {
|
| }
|
|
|
| // Check for payload and load accordingly.
|
| - bool is_snapshot = false;
|
| const uint8_t* payload = result->payload;
|
| intptr_t payload_length = result->payload_length;
|
| - payload =
|
| - DartUtils::SniffForMagicNumber(payload,
|
| - &payload_length,
|
| - &is_snapshot);
|
| + const DartUtils::MagicNumber payload_type =
|
| + DartUtils::SniffForMagicNumber(&payload, &payload_length);
|
| Dart_Handle source = Dart_Null();
|
| - if (!is_snapshot) {
|
| + if (payload_type == DartUtils::kUnknownMagicNumber) {
|
| source = Dart_NewStringFromUTF8(result->payload,
|
| result->payload_length);
|
| if (Dart_IsError(source)) {
|
| @@ -377,8 +374,10 @@ bool Loader::ProcessResultLocked(Loader* loader, Loader::IOResult* result) {
|
| }
|
| break;
|
| case Dart_kScriptTag:
|
| - if (is_snapshot) {
|
| + if (payload_type == DartUtils::kSnapshotMagicNumber) {
|
| dart_result = Dart_LoadScriptFromSnapshot(payload, payload_length);
|
| + } else if (payload_type == DartUtils::kKernelMagicNumber) {
|
| + dart_result = Dart_LoadKernel(payload, payload_length);
|
| } else {
|
| dart_result = Dart_LoadScript(uri, resolved_uri, source, 0, 0);
|
| }
|
|
|