Skip to content

Commit abd20df

Browse files
committed
Revert "Update impact_test to use --use-kernel"
This reverts commit 7222ff6. Change-Id: I2c419961230f1d7e240fc6dbb892fa8e43cb6896 Reviewed-on: https://dart-review.googlesource.com/5201 Reviewed-by: Johnni Winther <[email protected]>
1 parent 7222ff6 commit abd20df

File tree

7 files changed

+59
-182
lines changed

7 files changed

+59
-182
lines changed

pkg/compiler/lib/src/resolution/constructors.dart

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -449,19 +449,6 @@ class InitializerResolver {
449449
if (!resolvedSuper) {
450450
constructorInvocation = resolveImplicitSuperConstructorSend();
451451
}
452-
constructor.enclosingClass
453-
.forEachInstanceField((ClassElement declarer, FieldElement field) {
454-
if (declarer != constructor.enclosingClass) return;
455-
456-
if (!initialized.containsKey(field)) {
457-
visitor.resolution.ensureResolved(field);
458-
if (field.isFinal && field.initializer == null) {
459-
registry.registerStaticUse(new StaticUse.fieldInit(field));
460-
registry.registerConstantLiteral(new NullConstantExpression());
461-
}
462-
}
463-
});
464-
465452
if (isConst && isValidAsConstant) {
466453
constructor.enclosingClass.forEachInstanceField((_, FieldElement field) {
467454
if (!fieldInitializers.containsKey(field)) {

pkg/compiler/lib/src/resolution/members.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,8 +443,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
443443
element.constant = result.constant;
444444
}
445445
} else {
446-
registry.registerConstantLiteral(
447-
element.constant = new NullConstantExpression());
446+
element.constant = new NullConstantExpression();
448447
}
449448
}
450449
VariableDefinitions variableDefinitions = parameterNodes.head;

pkg/compiler/lib/src/serialization/equivalence.dart

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,24 +1050,15 @@ class ConstantValueEquivalence
10501050
/// Tests the equivalence of [impact1] and [impact2] using [strategy].
10511051
bool testResolutionImpactEquivalence(
10521052
ResolutionImpact impact1, ResolutionImpact impact2,
1053-
{TestStrategy strategy = const TestStrategy(),
1054-
Iterable<ConstantExpression> filterConstantLiterals(
1055-
Iterable<ConstantExpression> constants,
1056-
{bool fromFirstImpact})}) {
1053+
{TestStrategy strategy = const TestStrategy()}) {
10571054
return strategy.testSets(impact1, impact2, 'constSymbolNames',
10581055
impact1.constSymbolNames, impact2.constSymbolNames) &&
10591056
strategy.testSets(
10601057
impact1,
10611058
impact2,
10621059
'constantLiterals',
1063-
filterConstantLiterals != null
1064-
? filterConstantLiterals(impact1.constantLiterals,
1065-
fromFirstImpact: true)
1066-
: impact1.constantLiterals,
1067-
filterConstantLiterals != null
1068-
? filterConstantLiterals(impact2.constantLiterals,
1069-
fromFirstImpact: false)
1070-
: impact2.constantLiterals,
1060+
impact1.constantLiterals,
1061+
impact2.constantLiterals,
10711062
areConstantsEquivalent) &&
10721063
strategy.testSets(
10731064
impact1,

pkg/compiler/lib/src/ssa/kernel_impact.dart

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,7 @@ class KernelImpactBuilder extends ir.Visitor {
121121
field.initializer is! ir.NullLiteral) {
122122
impactBuilder.registerFeature(Feature.LAZY_FIELD);
123123
}
124-
} else {
125-
impactBuilder.registerConstantLiteral(new NullConstantExpression());
126124
}
127-
128125
if (field.isInstanceMember &&
129126
elementAdapter.isNativeClass(field.enclosingClass)) {
130127
MemberEntity member = elementAdapter.getMember(field);
@@ -430,13 +427,7 @@ class KernelImpactBuilder extends ir.Visitor {
430427

431428
@override
432429
void visitDirectMethodInvocation(ir.DirectMethodInvocation node) {
433-
_visitArguments(node.arguments);
434-
// TODO(johnniwinther): Restrict the dynamic use to only match the known
435-
// target.
436-
impactBuilder.registerDynamicUse(new DynamicUse(
437-
new Selector.call(elementAdapter.getMember(node.target).memberName,
438-
elementAdapter.getCallStructure(node.arguments)),
439-
null));
430+
handleSuperInvocation(node.name, node.target, node.arguments);
440431
}
441432

442433
@override
@@ -465,11 +456,7 @@ class KernelImpactBuilder extends ir.Visitor {
465456

466457
@override
467458
void visitDirectPropertyGet(ir.DirectPropertyGet node) {
468-
// TODO(johnniwinther): Restrict the dynamic use to only match the known
469-
// target.
470-
impactBuilder.registerDynamicUse(new DynamicUse(
471-
new Selector.getter(elementAdapter.getMember(node.target).memberName),
472-
null));
459+
handleSuperGet(null, node.target);
473460
}
474461

475462
@override
@@ -497,12 +484,7 @@ class KernelImpactBuilder extends ir.Visitor {
497484

498485
@override
499486
void visitDirectPropertySet(ir.DirectPropertySet node) {
500-
visitNode(node.value);
501-
// TODO(johnniwinther): Restrict the dynamic use to only match the known
502-
// target.
503-
impactBuilder.registerDynamicUse(new DynamicUse(
504-
new Selector.setter(elementAdapter.getMember(node.target).memberName),
505-
null));
487+
handleSuperSet(null, node.target, node.value);
506488
}
507489

508490
@override
@@ -569,22 +551,6 @@ class KernelImpactBuilder extends ir.Visitor {
569551
impactBuilder.registerStaticUse(
570552
new StaticUse.closure(elementAdapter.getLocalFunction(node)));
571553
handleSignature(node.function);
572-
// TODO(johnniwinther): Remove this when #30629 is closed.
573-
switch (node.function.asyncMarker) {
574-
case ir.AsyncMarker.Async:
575-
impactBuilder.registerTypeUse(new TypeUse.checkedModeCheck(
576-
elementAdapter.commonElements.futureType()));
577-
break;
578-
case ir.AsyncMarker.AsyncStar:
579-
impactBuilder.registerTypeUse(new TypeUse.checkedModeCheck(
580-
elementAdapter.commonElements.streamType()));
581-
break;
582-
case ir.AsyncMarker.SyncStar:
583-
impactBuilder.registerTypeUse(new TypeUse.checkedModeCheck(
584-
elementAdapter.commonElements.iterableType()));
585-
break;
586-
default:
587-
}
588554
handleAsyncMarker(node.function.asyncMarker);
589555
visitNode(node.function.body);
590556
}

tests/compiler/dart2js/kernel/closed_world2_test.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,8 @@ Future<ResultKind> mainInternal(List<String> args,
197197
ClosedWorld closedWorld1 = compiler1.resolutionWorldBuilder.closeWorld();
198198
BackendUsage backendUsage1 = closedWorld1.backendUsage;
199199

200-
Pair<Compiler, Compiler> compilers = await analyzeOnly(
201-
entryPoint, memorySourceFiles,
202-
printSteps: true, useKernelInSsa: true);
200+
Pair<Compiler, Compiler> compilers =
201+
await analyzeOnly(entryPoint, memorySourceFiles, printSteps: true);
203202
Compiler compiler = compilers.a;
204203
compiler.resolutionWorldBuilder.closeWorld();
205204
ElementEnvironment environment1 =

tests/compiler/dart2js/kernel/compiler_helper.dart

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import 'package:compiler/src/filenames.dart';
1818
import 'package:compiler/src/kernel/element_map.dart';
1919
import 'package:compiler/src/kernel/kernel_strategy.dart';
2020
import 'package:compiler/src/library_loader.dart';
21-
import 'package:compiler/src/resolution/enum_creator.dart';
2221
import 'package:compiler/src/universe/world_builder.dart';
2322
import 'package:compiler/src/util/util.dart';
2423
import 'package:kernel/ast.dart' as ir;
@@ -66,20 +65,18 @@ Future<List<CompileFunction>> compileMultiple(List<String> sources) async {
6665
/// to create the IR and the kernel based compiler.
6766
Future<Pair<Compiler, Compiler>> analyzeOnly(
6867
Uri entryPoint, Map<String, String> memorySourceFiles,
69-
{bool useKernelInSsa: false, bool printSteps: false}) async {
68+
{bool printSteps: false}) async {
7069
if (printSteps) {
7170
print('---- analyze-all -------------------------------------------------');
7271
}
73-
EnumCreator.matchKernelRepresentationForTesting = !useKernelInSsa;
74-
List<String> options = [Flags.analyzeAll, Flags.enableAssertMessage];
75-
if (useKernelInSsa) {
76-
// Generate kernel IR. Needed for [compiler2] when for [useKernelInSsa].
77-
options.add(Flags.useKernelInSsa);
78-
}
7972
Compiler compiler = compilerFor(
8073
entryPoint: entryPoint,
8174
memorySourceFiles: memorySourceFiles,
82-
options: options);
75+
options: [
76+
Flags.analyzeAll,
77+
Flags.useKernelInSsa,
78+
Flags.enableAssertMessage
79+
]);
8380
compiler.resolution.retainCachesForTesting = true;
8481
await compiler.run(entryPoint);
8582

@@ -92,15 +89,13 @@ Future<Pair<Compiler, Compiler>> analyzeOnly(
9289
options: [Flags.analyzeOnly, Flags.enableAssertMessage, Flags.useKernel]);
9390
ElementResolutionWorldBuilder.useInstantiationMap = true;
9491
compiler2.resolution.retainCachesForTesting = true;
95-
if (useKernelInSsa) {
96-
KernelFrontEndStrategy frontendStrategy = compiler2.frontendStrategy;
97-
KernelToElementMapForImpact elementMap = frontendStrategy.elementMap;
98-
compiler2.libraryLoader = new MemoryKernelLibraryLoaderTask(
99-
elementMap,
100-
compiler2.reporter,
101-
compiler2.measurer,
102-
compiler.backend.kernelTask.program);
103-
}
92+
KernelFrontEndStrategy frontendStrategy = compiler2.frontendStrategy;
93+
KernelToElementMapForImpact elementMap = frontendStrategy.elementMap;
94+
compiler2.libraryLoader = new MemoryKernelLibraryLoaderTask(
95+
elementMap,
96+
compiler2.reporter,
97+
compiler2.measurer,
98+
compiler.backend.kernelTask.program);
10499
await compiler2.run(entryPoint);
105100
return new Pair<Compiler, Compiler>(compiler, compiler2);
106101
}

0 commit comments

Comments
 (0)