Revert "[sdk] Remove some redundant kernel-worker JIT snapshot generation code."

This reverts commit 0e556f69604fa0c744313760e4df27b408ecdc4d.

Reason for revert: cbuild failure on some ads test

Original change's description:
> [sdk] Remove some redundant kernel-worker JIT snapshot generation code.
>
> Change-Id: Ic092633dd6f5eb0dcfdef70472221ddc7951bbbf
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/412783
> Reviewed-by: Srujan Gaddam <srujzs@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>
> Reviewed-by: Nicholas Shahan <nshahan@google.com>

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I7dd273001bf9c016f014c111ba8fe9197c75e52e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414383
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Siva Annamalai <asiva@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
diff --git a/pkg/compiler/tool/modular_test_suite_helper.dart b/pkg/compiler/tool/modular_test_suite_helper.dart
index 9babb9d..bd833a3 100644
--- a/pkg/compiler/tool/modular_test_suite_helper.dart
+++ b/pkg/compiler/tool/modular_test_suite_helper.dart
@@ -29,6 +29,7 @@
 late Options _options;
 late String _dart2jsScript;
 late String _kernelWorkerAotScript;
+late String _kernelWorkerScript;
 
 const dillSummaryId = DataId("summary.dill");
 const dillId = DataId("full.dill");
@@ -126,6 +127,7 @@
       sources = getSources(module);
     }
 
+    var isAot = File(_kernelWorkerAotScript).existsSync();
     var script = _kernelWorkerAotScript;
     var sdkPath = p.dirname(p.dirname(Platform.resolvedExecutable));
     var executable = p.absolute(
@@ -133,6 +135,11 @@
       'bin',
       Platform.isWindows ? 'dartaotruntime.exe' : 'dartaotruntime',
     );
+    if (!isAot) {
+      // This can be removed once we stop supporting ia32 architecture.
+      script = _kernelWorkerScript;
+      executable = Platform.resolvedExecutable;
+    }
 
     List<String> args = [
       script,
@@ -730,6 +737,10 @@
     'utils/bazel/kernel_worker.dart',
     'snapshots/kernel_worker_aot.dart.snapshot',
   );
+  _kernelWorkerScript = await resolve(
+    'utils/bazel/kernel_worker.dart',
+    'snapshots/kernel_worker.dart.snapshot',
+  );
 }
 
 String _librarySpecForSnapshot =
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
index b7e8adf..28c6870 100644
--- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_shared.dart
@@ -1195,15 +1195,18 @@
   DDCKernelGenerator(this.config, this.verbose);
 
   Future<int> generate() async {
-    var exitCode = 0;
     if (!File(dartdevc).existsSync()) {
-      exitCode = 1;
-      expect(exitCode, 0,
-          reason: 'Unable to locate snapshot for compiler $dartdevc');
+      // This can be removed once we stop supporting ia32 architecture.
+      dartdevc = p.join(
+          sdkPath, 'dart-sdk', 'bin', 'snapshots', 'dartdevc.dart.snapshot');
+      kernelWorker = p.join(sdkPath, 'dart-sdk', 'bin', 'snapshots',
+          'kernel_worker.dart.snapshot');
+      dartExecutable = Platform.resolvedExecutable;
     }
     Directory.fromUri(config.outputPath).createSync();
 
     // generate summaries
+    var exitCode = 0;
     for (var module in config.modules.values) {
       exitCode = await _generateSummary(module);
       expect(exitCode, 0,
diff --git a/pkg/dev_compiler/test/modular_helpers.dart b/pkg/dev_compiler/test/modular_helpers.dart
index f984112..4214ff1 100644
--- a/pkg/dev_compiler/test/modular_helpers.dart
+++ b/pkg/dev_compiler/test/modular_helpers.dart
@@ -325,5 +325,12 @@
       'bin',
       Platform.isWindows ? 'dartaotruntime.exe' : 'dartaotruntime',
     );
+  } else {
+    // This can be removed once we stop supporting ia32 architecture.
+    _dartdevcScript = await resolve('pkg/dev_compiler/bin/dartdevc.dart',
+        'snapshots/dartdevc.dart.snapshot');
+    _kernelWorkerScript = await resolve('utils/bazel/kernel_worker.dart',
+        'snapshots/kernel_worker.dart.snapshot');
+    _dartExecutable = Platform.resolvedExecutable;
   }
 }
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index fb7179c..16e84ce 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -57,7 +57,8 @@
 # ........frontend_server.dart.snapshot (JIT snapshot only on ia32)
 # ........gen_kernel_aot.dart.snapshot (if not on ia32)
 # ........kernel-service.dart.snapshot
-# ........kernel_worker_aot.dart.snapshot (AOT snapshot)
+# ........kernel_worker_aot.dart.snapshot (JIT snapshot only on ia32)
+# ........kernel_worker.dart.snapshot (AOT snapshot, it not ia32)
 # ......resources/
 # ........dartdoc/
 # ..........resources/
@@ -204,6 +205,11 @@
           "../utils/ddc:dartdevc",
           "dartdevc",
         ],
+        [
+          "kernel_worker",
+          "../utils/bazel:kernel_worker",
+          "kernel_worker",
+        ],
       ]
 } else {
   _full_sdk_snapshots = _platform_sdk_snapshots + [