Revert "[dart2js] Defer deserialized CodegenResults by members."

This reverts commit a547cfc0969ea9baca14529670dd553ad810131c.

Reason for revert: With 15 shards this ends up holding too much serialized data and causes an increase in memory usage.

Original change's description:
> [dart2js] Defer deserialized CodegenResults by members.
>
> For large applications only ~60% of these objects are used. This defers their deserializtion until they're accessed in the codegen member map.
>
> In local testing on large applications this saved ~200MB of memory usage in the linker phase.
>
> Change-Id: I8ff87803fc23ef2d3f954646687e3fc67b68a4f7
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254600
> Commit-Queue: Nate Biggs <natebiggs@google.com>
> Reviewed-by: Joshua Litt <joshualitt@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I51d292531be30b358a025d7c472f25e8aba4dc3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255283
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
diff --git a/pkg/compiler/lib/src/serialization/task.dart b/pkg/compiler/lib/src/serialization/task.dart
index da84cb3..e225449 100644
--- a/pkg/compiler/lib/src/serialization/task.dart
+++ b/pkg/compiler/lib/src/serialization/task.dart
@@ -28,7 +28,6 @@
 import '../options.dart';
 import '../util/sink_adapter.dart';
 import '../world.dart';
-import 'deferrable.dart';
 import 'serialization.dart';
 
 /// A data class holding some data [T] and the associated [DataSourceIndices].
@@ -341,7 +340,7 @@
       sink.writeMemberMap(
           results,
           (MemberEntity member, CodegenResult result) =>
-              sink.writeDeferrable(() => result.writeToDataSink(sink)));
+              result.writeToDataSink(sink));
       sink.close();
     });
   }
@@ -354,7 +353,7 @@
       bool useDeferredSourceReads) async {
     int shards = _options.codegenShards;
     JClosedWorld closedWorld = globalTypeInferenceResults.closedWorld;
-    Map<MemberEntity, Deferrable<CodegenResult>> results = {};
+    Map<MemberEntity, CodegenResult> results = {};
     for (int shard = 0; shard < shards; shard++) {
       Uri uri = Uri.parse('${_options.readCodegenUri}$shard');
       await measureIoSubtask('deserialize codegen', () async {
@@ -369,7 +368,7 @@
       });
     }
     return DeserializedCodegenResults(
-        globalTypeInferenceResults, codegenInputs, DeferrableValueMap(results));
+        globalTypeInferenceResults, codegenInputs, results);
   }
 
   void _deserializeCodegenInput(
@@ -378,7 +377,7 @@
       Uri uri,
       api.Input<List<int>> dataInput,
       DataSourceIndices importedIndices,
-      Map<MemberEntity, Deferrable<CodegenResult>> results,
+      Map<MemberEntity, CodegenResult> results,
       bool useDeferredSourceReads) {
     DataSourceReader source = DataSourceReader(
         BinaryDataSource(dataInput.data, stringInterner: _stringInterner),
@@ -387,19 +386,17 @@
         importedIndices: importedIndices,
         useDeferredStrategy: useDeferredSourceReads);
     backendStrategy.prepareCodegenReader(source);
-    Map<MemberEntity, Deferrable<CodegenResult>> codegenResults =
+    Map<MemberEntity, CodegenResult> codegenResults =
         source.readMemberMap((MemberEntity member) {
-      return source.readDeferrable(() {
-        List<ModularName> modularNames = [];
-        List<ModularExpression> modularExpressions = [];
-        CodegenReader reader =
-            CodegenReaderImpl(closedWorld, modularNames, modularExpressions);
-        source.registerCodegenReader(reader);
-        CodegenResult result = CodegenResult.readFromDataSource(
-            source, modularNames, modularExpressions);
-        source.deregisterCodegenReader(reader);
-        return result;
-      });
+      List<ModularName> modularNames = [];
+      List<ModularExpression> modularExpressions = [];
+      CodegenReader reader =
+          CodegenReaderImpl(closedWorld, modularNames, modularExpressions);
+      source.registerCodegenReader(reader);
+      CodegenResult result = CodegenResult.readFromDataSource(
+          source, modularNames, modularExpressions);
+      source.deregisterCodegenReader(reader);
+      return result;
     });
     _reporter.log('Read ${codegenResults.length} members from ${uri}');
     results.addAll(codegenResults);