diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc index f92eb765e21..d0a95e259d1 100644 --- a/runtime/bin/loader.cc +++ b/runtime/bin/loader.cc @@ -370,6 +370,13 @@ bool Loader::ProcessResultLocked(Loader* loader, Loader::IOResult* result) { if (payload_type == DartUtils::kSnapshotMagicNumber) { dart_result = Dart_LoadScriptFromSnapshot(payload, payload_length); reload_extensions = true; + } else if (payload_type == DartUtils::kKernelMagicNumber) { + // TODO(27590): This code path is only hit when trying to spawn + // isolates. We currently do not have support for neither + // `Isolate.spawn()` nor `Isolate.spawnUri()` with kernel-based + // frontend. + void* kernel_binary = Dart_ReadKernelBinary(payload, payload_length); + dart_result = Dart_LoadKernel(kernel_binary); } else { dart_result = Dart_LoadScript(uri, resolved_uri, source, 0, 0); }