[vm] Remove strong mode and sync-async flags from pkg/vm

Change-Id: Icd2920274ca4c402b38e5774bb408d6b5e529169
Reviewed-on: https://dart-review.googlesource.com/c/79082
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
This commit is contained in:
Alexander Markov 2018-10-10 20:11:35 +00:00 committed by commit-bot@chromium.org
parent 9a6f811466
commit 5deb1c6e81
12 changed files with 59 additions and 190 deletions

View file

@ -329,7 +329,7 @@ Future compilePlatformInternal(CompilerContext c, Uri fullOutput,
c.options.ticker.logMs("Wrote outline to ${outlineOutput.toFilePath()}");
if (c.options.bytecode) {
generateBytecode(result.component, strongMode: !c.options.legacyMode);
generateBytecode(result.component);
}
await writeComponentToFile(result.component, fullOutput,

View file

@ -26,7 +26,6 @@ final ArgParser _argParser = new ArgParser(allowTrailingOptions: true)
help:
'Produce kernel file for AOT compilation (enables global transformations).',
defaultsTo: false)
..addFlag('strong-mode', help: 'Enable strong mode', defaultsTo: true)
..addFlag('sync-async',
help: 'Start `async` functions synchronously', defaultsTo: true)
..addFlag('embed-sources',
@ -79,9 +78,7 @@ Future<int> compile(List<String> arguments) async {
final String filename = options.rest.single;
final String kernelBinaryFilename = options['output'] ?? "$filename.dill";
final String packages = options['packages'];
final bool strongMode = options['strong-mode'];
final bool aot = options['aot'];
final bool syncAsync = options['sync-async'];
final bool tfa = options['tfa'];
final bool genBytecode = options['gen-bytecode'];
final bool dropAST = options['drop-ast'];
@ -97,9 +94,7 @@ Future<int> compile(List<String> arguments) async {
final errorDetector = new ErrorDetector(previousErrorHandler: errorPrinter);
final CompilerOptions compilerOptions = new CompilerOptions()
..legacyMode = !strongMode
..target = new VmTarget(
new TargetFlags(legacyMode: !strongMode, syncAsync: syncAsync))
..target = new VmTarget(new TargetFlags(syncAsync: true))
..linkedDependencies = <Uri>[
Uri.base.resolveUri(new Uri.file(platformKernel))
]

View file

@ -61,14 +61,12 @@ bool allowDartInternalImport = false;
abstract class Compiler {
final FileSystem fileSystem;
final bool strongMode;
final List<String> errors = new List<String>();
CompilerOptions options;
Compiler(this.fileSystem, Uri platformKernelPath,
{this.strongMode: false,
bool suppressWarnings: false,
{bool suppressWarnings: false,
bool syncAsync: false,
String packageConfig: null}) {
Uri packagesUri = null;
@ -83,15 +81,11 @@ abstract class Compiler {
print("DFE: packagesUri: ${packagesUri}");
print("DFE: Platform.resolvedExecutable: ${Platform.resolvedExecutable}");
print("DFE: platformKernelPath: ${platformKernelPath}");
print("DFE: strongMode: ${strongMode}");
print("DFE: syncAsync: ${syncAsync}");
}
options = new CompilerOptions()
..legacyMode = !strongMode
..fileSystem = fileSystem
..target = new VmTarget(
new TargetFlags(legacyMode: !strongMode, syncAsync: syncAsync))
..target = new VmTarget(new TargetFlags(syncAsync: true))
..packagesFileUri = packagesUri
..sdkSummary = platformKernelPath
..verbose = verbose
@ -130,15 +124,9 @@ class IncrementalCompilerWrapper extends Compiler {
IncrementalCompiler generator;
IncrementalCompilerWrapper(FileSystem fileSystem, Uri platformKernelPath,
{bool strongMode: false,
bool suppressWarnings: false,
bool syncAsync: false,
String packageConfig: null})
{bool suppressWarnings: false, String packageConfig: null})
: super(fileSystem, platformKernelPath,
strongMode: strongMode,
suppressWarnings: suppressWarnings,
syncAsync: syncAsync,
packageConfig: packageConfig);
suppressWarnings: suppressWarnings, packageConfig: packageConfig);
@override
Future<Component> compileInternal(Uri script) async {
@ -158,15 +146,10 @@ class SingleShotCompilerWrapper extends Compiler {
SingleShotCompilerWrapper(FileSystem fileSystem, Uri platformKernelPath,
{this.requireMain: false,
bool strongMode: false,
bool suppressWarnings: false,
bool syncAsync: false,
String packageConfig: null})
: super(fileSystem, platformKernelPath,
strongMode: strongMode,
suppressWarnings: suppressWarnings,
syncAsync: syncAsync,
packageConfig: packageConfig);
suppressWarnings: suppressWarnings, packageConfig: packageConfig);
@override
Future<Component> compileInternal(Uri script) async {
@ -187,9 +170,7 @@ IncrementalCompilerWrapper lookupIncrementalCompiler(int isolateId) {
Future<Compiler> lookupOrBuildNewIncrementalCompiler(int isolateId,
List sourceFiles, Uri platformKernelPath, List<int> platformKernel,
{bool strongMode: false,
bool suppressWarnings: false,
bool syncAsync: false,
{bool suppressWarnings: false,
String packageConfig: null,
String multirootFilepaths,
String multirootScheme}) async {
@ -206,10 +187,7 @@ Future<Compiler> lookupOrBuildNewIncrementalCompiler(int isolateId,
// isolate needs to receive a message indicating that particular
// isolate was shut down. Message should be handled here in this script.
compiler = new IncrementalCompilerWrapper(fileSystem, platformKernelPath,
strongMode: strongMode,
suppressWarnings: suppressWarnings,
syncAsync: syncAsync,
packageConfig: packageConfig);
suppressWarnings: suppressWarnings, packageConfig: packageConfig);
isolateCompilers[isolateId] = compiler;
}
return compiler;
@ -372,11 +350,9 @@ Future _processLoadRequest(request) async {
final Uri script =
inputFileUri != null ? Uri.base.resolve(inputFileUri) : null;
final bool incremental = request[4];
final bool strong = request[5];
final int isolateId = request[6];
final List sourceFiles = request[7];
final bool suppressWarnings = request[8];
final bool syncAsync = request[9];
final String packageConfig = request[10];
final String multirootFilepaths = request[11];
final String multirootScheme = request[12];
@ -389,8 +365,8 @@ Future _processLoadRequest(request) async {
platformKernelPath = Uri.parse(platformKernelFile);
platformKernel = request[3];
} else {
platformKernelPath = computePlatformBinariesLocation()
.resolve(strong ? 'vm_platform_strong.dill' : 'vm_platform.dill');
platformKernelPath =
computePlatformBinariesLocation().resolve('vm_platform_strong.dill');
}
Compiler compiler;
@ -429,9 +405,7 @@ Future _processLoadRequest(request) async {
if (incremental) {
compiler = await lookupOrBuildNewIncrementalCompiler(
isolateId, sourceFiles, platformKernelPath, platformKernel,
strongMode: strong,
suppressWarnings: suppressWarnings,
syncAsync: syncAsync,
packageConfig: packageConfig,
multirootFilepaths: multirootFilepaths,
multirootScheme: multirootScheme);
@ -440,9 +414,7 @@ Future _processLoadRequest(request) async {
sourceFiles, platformKernel, multirootFilepaths, multirootScheme);
compiler = new SingleShotCompilerWrapper(fileSystem, platformKernelPath,
requireMain: false,
strongMode: strong,
suppressWarnings: suppressWarnings,
syncAsync: syncAsync,
packageConfig: packageConfig);
}

View file

@ -37,8 +37,7 @@ import '../metadata/bytecode.dart';
const String symbolForTypeCast = ' in type cast';
void generateBytecode(Component component,
{bool strongMode: true,
bool dropAST: false,
{bool dropAST: false,
bool omitSourcePositions: false,
Map<String, String> environmentDefines,
ErrorReporter errorReporter}) {
@ -47,12 +46,12 @@ void generateBytecode(Component component,
final hierarchy = new ClassHierarchy(component,
onAmbiguousSupertypes: ignoreAmbiguousSupertypes);
final typeEnvironment =
new TypeEnvironment(coreTypes, hierarchy, strongMode: strongMode);
new TypeEnvironment(coreTypes, hierarchy, strongMode: true);
final constantsBackend =
new VmConstantsBackend(environmentDefines, coreTypes);
final errorReporter = new ForwardConstantEvaluationErrors(typeEnvironment);
new BytecodeGenerator(component, coreTypes, hierarchy, typeEnvironment,
constantsBackend, strongMode, omitSourcePositions, errorReporter)
constantsBackend, omitSourcePositions, errorReporter)
.visitComponent(component);
if (dropAST) {
new DropAST().visitComponent(component);
@ -65,7 +64,6 @@ class BytecodeGenerator extends RecursiveVisitor<Null> {
final ClassHierarchy hierarchy;
final TypeEnvironment typeEnvironment;
final ConstantsBackend constantsBackend;
final bool strongMode;
final bool omitSourcePositions;
final ErrorReporter errorReporter;
final BytecodeMetadataRepository metadata = new BytecodeMetadataRepository();
@ -102,7 +100,6 @@ class BytecodeGenerator extends RecursiveVisitor<Null> {
this.hierarchy,
this.typeEnvironment,
this.constantsBackend,
this.strongMode,
this.omitSourcePositions,
this.errorReporter)
: recognizedMethods = new RecognizedMethods(typeEnvironment) {
@ -703,8 +700,13 @@ class BytecodeGenerator extends RecursiveVisitor<Null> {
}
locals = new LocalVariables(node);
// TODO(alexmarkov): improve caching in ConstantEvaluator and reuse it
constantEvaluator = new ConstantEvaluator(constantsBackend, typeEnvironment,
coreTypes, strongMode, /* enableAsserts = */ true, errorReporter)
constantEvaluator = new ConstantEvaluator(
constantsBackend,
typeEnvironment,
coreTypes,
/* strongMode = */ true,
/* enableAsserts = */ true,
errorReporter)
..env = new EvaluationEnvironment();
labeledStatements = <LabeledStatement, Label>{};
switchCases = <SwitchCase, Label>{};

View file

@ -43,11 +43,9 @@ ArgParser argParser = new ArgParser(allowTrailingOptions: true)
..addFlag('aot',
help: 'Run compiler in AOT mode (enables whole-program transformations)',
defaultsTo: false)
..addFlag('strong',
help: 'Run compiler in strong mode (uses strong mode semantics)',
defaultsTo: false)
..addFlag('sync-async',
help: 'Start `async` functions synchronously.', defaultsTo: true)
// TODO(alexmarkov): Cleanup uses in Flutter and remove these obsolete flags.
..addFlag('strong', help: 'Obsolete', defaultsTo: true)
..addFlag('sync-async', help: 'Obsolete', defaultsTo: true)
..addFlag('tfa',
help:
'Enable global type flow analysis and related transformations in AOT mode.',
@ -262,12 +260,11 @@ class FrontendCompiler implements CompilerInterface {
final String boundaryKey = new Uuid().generateV4();
_outputStream.writeln('result $boundaryKey');
final Uri sdkRoot = _ensureFolderPath(options['sdk-root']);
final String platformKernelDill = options['platform'] ??
(options['strong'] ? 'platform_strong.dill' : 'platform.dill');
final String platformKernelDill =
options['platform'] ?? 'platform_strong.dill';
final CompilerOptions compilerOptions = new CompilerOptions()
..sdkRoot = sdkRoot
..packagesFileUri = _getFileOrUri(_options['packages'])
..legacyMode = !options['strong']
..sdkSummary = sdkRoot.resolve(platformKernelDill)
..verbose = options['verbose']
..embedSourceText = options['embed-source-text']
@ -316,8 +313,7 @@ class FrontendCompiler implements CompilerInterface {
// Ensure that Flutter and VM targets are added to targets dictionary.
installAdditionalTargets();
final TargetFlags targetFlags = new TargetFlags(
legacyMode: !options['strong'], syncAsync: options['sync-async']);
final TargetFlags targetFlags = new TargetFlags(syncAsync: true);
compilerOptions.target = getTarget(options['target'], targetFlags);
if (compilerOptions.target == null) {
print('Failed to create front-end target ${options['target']}.');

View file

@ -64,7 +64,6 @@ Future<Component> compileToKernel(Uri source, CompilerOptions options,
source,
options,
component,
!options.legacyMode,
useGlobalTypeFlowAnalysis,
environmentDefines,
enableAsserts,
@ -75,9 +74,7 @@ Future<Component> compileToKernel(Uri source, CompilerOptions options,
if (genBytecode && !errorDetector.hasCompilationErrors && component != null) {
await runWithFrontEndCompilerContext(source, options, component, () {
generateBytecode(component,
strongMode: !options.legacyMode,
dropAST: dropAST,
environmentDefines: environmentDefines);
dropAST: dropAST, environmentDefines: environmentDefines);
});
}
@ -91,40 +88,37 @@ Future _runGlobalTransformations(
Uri source,
CompilerOptions compilerOptions,
Component component,
bool strongMode,
bool useGlobalTypeFlowAnalysis,
Map<String, String> environmentDefines,
bool enableAsserts,
bool enableConstantEvaluation,
ErrorDetector errorDetector) async {
if (strongMode) {
if (errorDetector.hasCompilationErrors) return;
final coreTypes = new CoreTypes(component);
_patchVmConstants(coreTypes);
// TODO(alexmarkov, dmitryas): Consider doing canonicalization of identical
// mixin applications when creating mixin applications in frontend,
// so all backends (and all transformation passes from the very beginning)
// can benefit from mixin de-duplication.
// At least, in addition to VM/AOT case we should run this transformation
// when building a platform dill file for VM/JIT case.
mixin_deduplication.transformComponent(component);
if (enableConstantEvaluation) {
await _performConstantEvaluation(source, compilerOptions, component,
coreTypes, environmentDefines, enableAsserts);
if (errorDetector.hasCompilationErrors) return;
}
final coreTypes = new CoreTypes(component);
_patchVmConstants(coreTypes);
// TODO(alexmarkov, dmitryas): Consider doing canonicalization of identical
// mixin applications when creating mixin applications in frontend,
// so all backends (and all transformation passes from the very beginning)
// can benefit from mixin de-duplication.
// At least, in addition to VM/AOT case we should run this transformation
// when building a platform dill file for VM/JIT case.
mixin_deduplication.transformComponent(component);
if (enableConstantEvaluation) {
await _performConstantEvaluation(source, compilerOptions, component,
coreTypes, environmentDefines, strongMode, enableAsserts);
if (errorDetector.hasCompilationErrors) return;
}
if (useGlobalTypeFlowAnalysis) {
globalTypeFlow.transformComponent(
compilerOptions.target, coreTypes, component);
} else {
devirtualization.transformComponent(coreTypes, component);
no_dynamic_invocations_annotator.transformComponent(component);
}
if (useGlobalTypeFlowAnalysis) {
globalTypeFlow.transformComponent(
compilerOptions.target, coreTypes, component);
} else {
devirtualization.transformComponent(coreTypes, component);
no_dynamic_invocations_annotator.transformComponent(component);
}
}
@ -152,7 +146,6 @@ Future _performConstantEvaluation(
Component component,
CoreTypes coreTypes,
Map<String, String> environmentDefines,
bool strongMode,
bool enableAsserts) async {
final vmConstants =
new vm_constants.VmConstantsBackend(environmentDefines, coreTypes);
@ -160,7 +153,7 @@ Future _performConstantEvaluation(
await runWithFrontEndCompilerContext(source, compilerOptions, component, () {
final hierarchy = new ClassHierarchy(component);
final typeEnvironment =
new TypeEnvironment(coreTypes, hierarchy, strongMode: strongMode);
new TypeEnvironment(coreTypes, hierarchy, strongMode: true);
// TFA will remove constants fields which are unused (and respects the
// vm/embedder entrypoints).

View file

@ -31,7 +31,7 @@ runTestCase(Uri source) async {
await runWithFrontEndCompilerContext(source, options, component, () {
// Need to omit source positions from bytecode as they are different on
// Linux and Windows (due to differences in newline characters).
generateBytecode(component, strongMode: true, omitSourcePositions: true);
generateBytecode(component, omitSourcePositions: true);
});
final actual = kernelLibraryToString(component.mainMethod.enclosingLibrary);

View file

@ -50,44 +50,6 @@ Future<int> main() async {
generator: anyNamed('generator'),
)).captured;
expect(capturedArgs.single['sdk-root'], equals('sdkroot'));
expect(capturedArgs.single['strong'], equals(false));
});
test('compile from command line (strong mode)', () async {
final List<String> args = <String>[
'server.dart',
'--sdk-root',
'sdkroot',
'--strong',
];
await starter(args, compiler: compiler);
final List<dynamic> capturedArgs = verify(compiler.compile(
argThat(equals('server.dart')),
captureAny,
generator: anyNamed('generator'),
)).captured;
expect(capturedArgs.single['sdk-root'], equals('sdkroot'));
expect(capturedArgs.single['strong'], equals(true));
expect(capturedArgs.single['sync-async'], equals(true));
});
test('compile from command line (no-sync-async)', () async {
final List<String> args = <String>[
'server.dart',
'--sdk-root',
'sdkroot',
'--strong',
'--no-sync-async',
];
await starter(args, compiler: compiler);
final List<dynamic> capturedArgs = verify(compiler.compile(
argThat(equals('server.dart')),
captureAny,
generator: anyNamed('generator'),
)).captured;
expect(capturedArgs.single['sdk-root'], equals('sdkroot'));
expect(capturedArgs.single['strong'], equals(true));
expect(capturedArgs.single['sync-async'], equals(false));
});
test('compile from command line with link platform', () async {
@ -105,7 +67,6 @@ Future<int> main() async {
)).captured;
expect(capturedArgs.single['sdk-root'], equals('sdkroot'));
expect(capturedArgs.single['link-platform'], equals(true));
expect(capturedArgs.single['strong'], equals(false));
});
});
@ -126,7 +87,6 @@ Future<int> main() async {
expect(invocation.positionalArguments[0], equals('server.dart'));
expect(
invocation.positionalArguments[1]['sdk-root'], equals('sdkroot'));
expect(invocation.positionalArguments[1]['strong'], equals(false));
compileCalled.sendPort.send(true);
});
@ -150,11 +110,6 @@ Future<int> main() async {
'--sdk-root',
'sdkroot',
];
final List<String> strongArgs = <String>[
'--sdk-root',
'sdkroot',
'--strong',
];
test('compile one file', () async {
final StreamController<List<int>> inputStreamController =
@ -165,7 +120,6 @@ Future<int> main() async {
expect(invocation.positionalArguments[0], equals('server.dart'));
expect(
invocation.positionalArguments[1]['sdk-root'], equals('sdkroot'));
expect(invocation.positionalArguments[1]['strong'], equals(false));
compileCalled.sendPort.send(true);
});
@ -181,31 +135,6 @@ Future<int> main() async {
inputStreamController.close();
});
test('compile one file (strong mode)', () async {
final StreamController<List<int>> inputStreamController =
new StreamController<List<int>>();
final ReceivePort compileCalled = new ReceivePort();
when(compiler.compile(any, any, generator: anyNamed('generator')))
.thenAnswer((Invocation invocation) {
expect(invocation.positionalArguments[0], equals('server.dart'));
expect(
invocation.positionalArguments[1]['sdk-root'], equals('sdkroot'));
expect(invocation.positionalArguments[1]['strong'], equals(true));
compileCalled.sendPort.send(true);
});
Future<int> result = starter(
strongArgs,
compiler: compiler,
input: inputStreamController.stream,
);
inputStreamController.add('compile server.dart\n'.codeUnits);
await compileCalled.first;
inputStreamController.add('quit\n'.codeUnits);
expect(await result, 0);
inputStreamController.close();
});
test('compile few files', () async {
final StreamController<List<int>> inputStreamController =
new StreamController<List<int>>();
@ -217,7 +146,6 @@ Future<int> main() async {
equals('server${counter++}.dart'));
expect(
invocation.positionalArguments[1]['sdk-root'], equals('sdkroot'));
expect(invocation.positionalArguments[1]['strong'], equals(false));
compileCalled.sendPort.send(true);
});
@ -462,7 +390,6 @@ Future<int> main() async {
generator: anyNamed('generator'),
)).captured;
expect(capturedArgs.single['sdk-root'], equals('sdkroot'));
expect(capturedArgs.single['strong'], equals(false));
});
});
});
@ -489,7 +416,6 @@ Future<int> main() async {
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}'
@ -598,7 +524,6 @@ Future<int> main() async {
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}'
@ -727,7 +652,6 @@ true
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}'
@ -836,7 +760,6 @@ true
// First compile app entry point A.
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}',
@ -921,7 +844,6 @@ true
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}'
@ -1007,7 +929,6 @@ true
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}',
@ -1028,7 +949,6 @@ true
expect(depFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}',
@ -1063,7 +983,6 @@ true
expect(dillFile.existsSync(), equals(false));
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
'--strong',
'--incremental',
'--platform=${platformKernel.path}',
'--output-dill=${dillFile.path}',

View file

@ -33,7 +33,4 @@ fi
export DART_CONFIGURATION=${DART_CONFIGURATION:-ReleaseX64}
BIN_DIR="$OUT_DIR$DART_CONFIGURATION"
exec "$BIN_DIR"/dart_precompiled_runtime \
--strong \
--reify-generic-functions \
"$@"
exec "$BIN_DIR"/dart_precompiled_runtime "$@"

View file

@ -29,8 +29,6 @@ for arg in "$@"; do
GEN_KERNEL_OPTIONS+=("$arg")
OPTIONS+=("$arg")
;;
--sync-async | \
--no-sync-async | \
--tfa | \
--no-tfa | \
-D* )

View file

@ -108,12 +108,16 @@ valid_source_locations_test: RuntimeError
# These are the non-kernel specific versions so skip tests and allow errors.
[ $compiler == dartk ]
add_breakpoint_rpc_test: SkipByDesign # non-kernel specific version of add_breakpoint_rpc_kernel_test.
async_generator_breakpoint_test: Crash, RuntimeError # Issue 34746
async_single_step_exception_test: RuntimeError # Issue 34746
async_single_step_out_test: RuntimeError # Issue 34746
bad_reload_test: RuntimeError # Issue 34025
coverage_optimized_function_test: Pass, Slow
evaluate_activation_in_method_class_test: RuntimeError
evaluate_activation_test/instance: RuntimeError # http://dartbug.com/20047
evaluate_activation_test/scope: RuntimeError # http://dartbug.com/20047
pause_on_unhandled_async_exceptions2_test: Pass, Slow
positive_token_pos_test: RuntimeError # Issue 34746
step_through_arithmetic_test: RuntimeError # probably constant evaluator pre-evaluating e.g. 1+2
unused_changes_in_last_reload_test: RuntimeError
@ -220,13 +224,9 @@ next_through_simple_async_test: Skip # Timeout
step_test: Skip # Timeout
step_through_constructor_test: Skip # Timeout
[ $compiler == dartk && $strong && ($arch == simarm || $arch == simarm64) ]
async_single_step_exception_test: RuntimeError
[ $compiler == dartk && ($arch == simarm || $arch == simarm64 || $arch == simdbc64) ]
add_breakpoint_rpc_kernel_test: RuntimeError # Issue #33087
async_generator_breakpoint_test: Skip # No incremental compiler available.
async_single_step_out_test: RuntimeError
bad_reload_test: Skip # Times out on sim architectures, also RuntimeError.
break_on_activation_test: RuntimeError # Issue #33087
complex_reload_test: Skip # Times out on sim architectures, also RuntimeError.
@ -251,7 +251,6 @@ get_retaining_path_rpc_test: RuntimeError # Issue #33087
get_user_level_retaining_path_rpc_test: RuntimeError # Issue #33087
instance_field_order_rpc_test: RuntimeError # Issue #33087
pause_on_exceptions_test: RuntimeError, Timeout # Issue #33087
positive_token_pos_test: Pass, RuntimeError
reload_sources_test: Skip # Times out.
rewind_optimized_out_test: RuntimeError # Issue #33087
rewind_test: Pass, RuntimeError

View file

@ -1061,8 +1061,6 @@ abstract class VMKernelCompilerMixin {
final args = [
_isAot ? '--aot' : '--no-aot',
'--strong-mode',
_configuration.noPreviewDart2 ? '--no-sync-async' : '--sync-async',
'--platform=$vmPlatform',
'-o',
dillFile,