diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index 27c5806..efc087b 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -1137,6 +1137,8 @@
 
   sources = [
               "builtin_nolib.cc",
+              "dfe.cc",
+              "dfe.h",
               "error_exit.cc",
               "error_exit.h",
               "run_vm_tests.cc",
diff --git a/runtime/bin/run_vm_tests.cc b/runtime/bin/run_vm_tests.cc
index 6246c4a..9cc4ada 100644
--- a/runtime/bin/run_vm_tests.cc
+++ b/runtime/bin/run_vm_tests.cc
@@ -28,6 +28,10 @@
 // TODO(iposva, asiva): This is a placeholder for the real unittest framework.
 namespace dart {
 
+namespace bin {
+DFE dfe;
+}
+
 // Defined in vm/os_thread_win.cc
 extern bool private_flag_windows_run_tls_destructors;
 
diff --git a/runtime/tests/vm/vm.status b/runtime/tests/vm/vm.status
index c2d0b53..ee0eaf1 100644
--- a/runtime/tests/vm/vm.status
+++ b/runtime/tests/vm/vm.status
@@ -163,7 +163,7 @@
 
 [ $compiler == dartk && $mode == debug && $runtime == vm ]
 cc/InjectNativeFields1: Crash
-cc/PrintJSON: Crash
+cc/InjectNativeFields3: Crash
 cc/Service_TokenStream: Crash
 
 # Enabling of dartk for sim{arm,arm64,dbc64} revelaed these test failures, which
@@ -174,13 +174,18 @@
 
 [ $compiler == dartk && $mode == release && $runtime == vm ]
 cc/InjectNativeFields1: Fail
+cc/InjectNativeFields3: Fail
 cc/Service_TokenStream: Fail
 
 [ $compiler == dartk && $runtime == vm ]
 cc/CanonicalizationInScriptSnapshots: Fail
 cc/Class_ComputeEndTokenPos: Crash
 cc/DartAPI_CurrentStackTraceInfo: Fail
+cc/DartAPI_ImplicitNativeFieldAccess: Crash
 cc/DartAPI_InjectNativeFields1: Skip
+cc/DartAPI_InjectNativeFields3: Crash
+cc/DartAPI_InjectNativeFields4: Crash
+cc/DartAPI_InjectNativeFieldsSuperClass: Crash
 cc/DartAPI_InvokeNoSuchMethod: Fail
 cc/DartAPI_Invoke_CrossLibrary: Crash
 cc/DartAPI_IsolateShutdownRunDartCode: Skip # Flaky
@@ -195,11 +200,13 @@
 cc/DartAPI_LoadSource_LateLoad: Crash
 cc/DartAPI_LookupLibrary: Crash
 cc/DartAPI_NativeFieldAccess: Fail
+cc/DartAPI_NegativeNativeFieldInIsolateMessage: Crash
 cc/DartAPI_ParsePatchLibrary: Crash
 cc/DartAPI_PropagateError: Fail
 cc/DartAPI_StackOverflowStackTraceInfoArrowFunction: Fail
 cc/DartAPI_StackOverflowStackTraceInfoBraceFunction1: Fail
 cc/DartAPI_StackOverflowStackTraceInfoBraceFunction2: Fail
+cc/DartAPI_TestNativeFieldsAccess: Crash
 cc/DebuggerAPI_BreakpointStubPatching: Fail
 cc/DebuggerAPI_GetClosureInfo: Fail
 cc/DebuggerAPI_InterruptIsolate: SkipSlow
@@ -210,7 +217,6 @@
 cc/Debugger_Rewind_Optimized: SkipSlow
 cc/Debugger_SetBreakpointInPartOfLibrary: Crash
 cc/FunctionSourceFingerprint: Fail
-cc/GenerateSource: Skip # We cannot generate source from kernel data.
 cc/IsolateReload_BadClass: Fail
 cc/IsolateReload_ChangeInstanceFormat1: Skip
 cc/IsolateReload_ChangeInstanceFormat3: Skip
@@ -278,7 +284,7 @@
 cc/SourceReport_CallSites_PolymorphicCall: Fail
 cc/SourceReport_CallSites_SimpleCall: Fail
 cc/SourceReport_Coverage_AllFunctions: Fail
-cc/SourceReport_Coverage_AllFunctions_ForceCompile: Crash
+cc/SourceReport_Coverage_AllFunctions_ForceCompile: Fail
 cc/SourceReport_Coverage_ForceCompile: Fail
 cc/SourceReport_Coverage_NestedFunctions: Fail
 cc/SourceReport_Coverage_NoCalls: Fail
diff --git a/runtime/vm/unit_test.cc b/runtime/vm/unit_test.cc
index 99ae8e9..574e44f 100644
--- a/runtime/vm/unit_test.cc
+++ b/runtime/vm/unit_test.cc
@@ -27,27 +27,13 @@
 using dart::bin::Builtin;
 using dart::bin::DartUtils;
 
-extern "C" {
-extern const uint8_t kPlatformDill[];
-extern const uint8_t kPlatformStrongDill[];
-extern intptr_t kPlatformDillSize;
-extern intptr_t kPlatformStrongDillSize;
-}
-
 namespace dart {
 
-const uint8_t* platform_dill = kPlatformDill;
-const uint8_t* platform_strong_dill = kPlatformStrongDill;
-const intptr_t platform_dill_size = kPlatformDillSize;
-const intptr_t platform_strong_dill_size = kPlatformStrongDillSize;
-
 DEFINE_FLAG(bool,
             use_dart_frontend,
             false,
             "Parse scripts with Dart-to-Kernel parser");
 
-DECLARE_FLAG(bool, strong);
-
 TestCaseBase* TestCaseBase::first_ = NULL;
 TestCaseBase* TestCaseBase::tail_ = NULL;
 
@@ -81,29 +67,13 @@
   }
 }
 
-static void NoopRelease(uint8_t* data) {}
-
-Dart_Isolate TestCase::CreateIsolate(const uint8_t* buffer,
-                                     intptr_t len,
-                                     const char* name,
-                                     bool is_snapshot) {
+Dart_Isolate TestCase::CreateIsolate(const uint8_t* buffer, const char* name) {
   char* err;
   Dart_IsolateFlags api_flags;
   Isolate::FlagsInitialize(&api_flags);
   api_flags.use_dart_frontend = FLAG_use_dart_frontend;
-  Dart_Isolate isolate = NULL;
-  if (is_snapshot) {
-    isolate =
-        Dart_CreateIsolate(name, NULL, buffer, NULL, &api_flags, NULL, &err);
-  } else {
-    kernel::Program* program = reinterpret_cast<kernel::Program*>(
-        Dart_ReadKernelBinary(buffer, len, NoopRelease));
-    if (program != NULL) {
-      isolate = Dart_CreateIsolateFromKernel(name, NULL, program, &api_flags,
-                                             NULL, &err);
-      delete program;
-    }
-  }
+  Dart_Isolate isolate =
+      Dart_CreateIsolate(name, NULL, buffer, NULL, &api_flags, NULL, &err);
   if (isolate == NULL) {
     OS::Print("Creation of isolate failed '%s'\n", err);
     free(err);
@@ -112,19 +82,6 @@
   return isolate;
 }
 
-Dart_Isolate TestCase::CreateTestIsolate(const char* name) {
-  if (FLAG_use_dart_frontend) {
-    return CreateIsolate(
-        FLAG_strong ? platform_strong_dill : platform_dill,
-        FLAG_strong ? platform_strong_dill_size : platform_dill_size, name,
-        false /* buffer is not a snapshot */);
-  } else {
-    return CreateIsolate(bin::core_isolate_snapshot_data,
-                         0 /* Snapshots have length encoded within them. */,
-                         name, true /* buffer is a snapshot */);
-  }
-}
-
 static const char* kPackageScheme = "package:";
 
 static bool IsPackageSchemeURL(const char* url_name) {
@@ -242,8 +199,7 @@
                                          bool incrementally) {
   Zone* zone = Thread::Current()->zone();
   Dart_KernelCompilationResult compilation_result = Dart_CompileSourcesToKernel(
-      url, FLAG_strong ? platform_strong_dill : platform_dill,
-      FLAG_strong ? platform_strong_dill_size : platform_dill_size,
+      url, NULL /* platform binary can be found at the default location */, 0,
       sourcefiles_count, sourcefiles, incrementally);
 
   if (compilation_result.status != Dart_KernelCompilationStatus_Ok) {
diff --git a/runtime/vm/unit_test.h b/runtime/vm/unit_test.h
index 1f745c5..1f7fc8f 100644
--- a/runtime/vm/unit_test.h
+++ b/runtime/vm/unit_test.h
@@ -332,9 +332,11 @@
   static const char* url();
   static Dart_Isolate CreateTestIsolateFromSnapshot(uint8_t* buffer,
                                                     const char* name = NULL) {
-    return CreateIsolate(buffer, 0, name, true);
+    return CreateIsolate(buffer, name);
   }
-  static Dart_Isolate CreateTestIsolate(const char* name = NULL);
+  static Dart_Isolate CreateTestIsolate(const char* name = NULL) {
+    return CreateIsolate(bin::core_isolate_snapshot_data, name);
+  }
   static Dart_Handle library_handler(Dart_LibraryTag tag,
                                      Dart_Handle library,
                                      Dart_Handle url);
@@ -359,14 +361,7 @@
   static const char* GetTestLib(const char* url);
 
  private:
-  // |buffer| can either be snapshot data, or kernel binary data.
-  // If |buffer| is snapshot data, then |is_snapshot| must be true. Otherwise,
-  // buffer will be treated as a kernel binary (but CreateIsolate will not
-  // take ownership of the buffer).
-  static Dart_Isolate CreateIsolate(const uint8_t* buffer,
-                                    intptr_t len,
-                                    const char* name,
-                                    bool is_snapshot);
+  static Dart_Isolate CreateIsolate(const uint8_t* buffer, const char* name);
 
   RunEntry* const run_;
 };
diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart
index 8d9b5df..e82a650 100644
--- a/tools/testing/dart/test_suite.dart
+++ b/tools/testing/dart/test_suite.dart
@@ -494,10 +494,6 @@
       args.insert(0, '--dfe=$buildDir/gen/kernel-service.dart.snapshot');
     }
 
-    if (configuration.isStrong) {
-      args.add('--strong');
-    }
-
     args.add(testName);
 
     var command = Command.process(
