mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 22:00:09 +00:00
[infra] Add legacy AST mode builder to the test-matrix.json
This also removes the now redundant bytecode testing from the dartkb builders. Replace the useKernelBytecode boolean option with a more flexible genKernelOptions string list option. See also See also https://dart-review.googlesource.com/c/sdk/+/122321/ for the corresponding Luci config updates. Change-Id: Iabb207bc02637b758c42c00ae9175bd52f46559f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122320 Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
parent
6700ed4ac5
commit
e62c7ae3bb
|
@ -244,6 +244,7 @@ class Configuration {
|
|||
nnbdMode: nnbdMode,
|
||||
babel: stringOption("babel"),
|
||||
builderTag: stringOption("builder-tag"),
|
||||
genKernelOptions: stringListOption("gen-kernel-options"),
|
||||
vmOptions: stringListOption("vm-options"),
|
||||
dart2jsOptions: stringListOption("dart2js-options"),
|
||||
experiments: stringListOption("enable-experiment"),
|
||||
|
@ -288,6 +289,8 @@ class Configuration {
|
|||
|
||||
final String builderTag;
|
||||
|
||||
final List<String> genKernelOptions;
|
||||
|
||||
final List<String> vmOptions;
|
||||
|
||||
final List<String> dart2jsOptions;
|
||||
|
@ -335,6 +338,7 @@ class Configuration {
|
|||
{NnbdMode nnbdMode,
|
||||
String babel,
|
||||
String builderTag,
|
||||
List<String> genKernelOptions,
|
||||
List<String> vmOptions,
|
||||
List<String> dart2jsOptions,
|
||||
List<String> experiments,
|
||||
|
@ -354,6 +358,7 @@ class Configuration {
|
|||
: nnbdMode = nnbdMode ?? NnbdMode.legacy,
|
||||
babel = babel ?? "",
|
||||
builderTag = builderTag ?? "",
|
||||
genKernelOptions = genKernelOptions ?? <String>[],
|
||||
vmOptions = vmOptions ?? <String>[],
|
||||
dart2jsOptions = dart2jsOptions ?? <String>[],
|
||||
experiments = experiments ?? <String>[],
|
||||
|
@ -382,6 +387,7 @@ class Configuration {
|
|||
nnbdMode == other.nnbdMode &&
|
||||
babel == other.babel &&
|
||||
builderTag == other.builderTag &&
|
||||
_listsEqual(genKernelOptions, other.genKernelOptions) &&
|
||||
_listsEqual(vmOptions, other.vmOptions) &&
|
||||
_listsEqual(dart2jsOptions, other.dart2jsOptions) &&
|
||||
_listsEqual(experiments, other.experiments) &&
|
||||
|
@ -429,6 +435,7 @@ class Configuration {
|
|||
nnbdMode.hashCode ^
|
||||
babel.hashCode ^
|
||||
builderTag.hashCode ^
|
||||
genKernelOptions.join(" & ").hashCode ^
|
||||
vmOptions.join(" & ").hashCode ^
|
||||
dart2jsOptions.join(" & ").hashCode ^
|
||||
experiments.join(" & ").hashCode ^
|
||||
|
@ -469,6 +476,7 @@ class Configuration {
|
|||
|
||||
if (babel.isNotEmpty) fields.add("babel: $babel");
|
||||
if (builderTag.isNotEmpty) fields.add("builder-tag: $builderTag");
|
||||
stringListField("gen-kernel-options", genKernelOptions);
|
||||
stringListField("vm-options", vmOptions);
|
||||
stringListField("dart2js-options", dart2jsOptions);
|
||||
stringListField("enable-experiment", experiments);
|
||||
|
@ -522,6 +530,8 @@ class Configuration {
|
|||
fields.add("nnbd: $nnbdMode ${other.nnbdMode}");
|
||||
stringField("babel", babel, other.babel);
|
||||
stringField("builder-tag", builderTag, other.builderTag);
|
||||
stringListField(
|
||||
"gen-kernel-options", genKernelOptions, other.genKernelOptions);
|
||||
stringListField("vm-options", vmOptions, other.vmOptions);
|
||||
stringListField("dart2js-options", dart2jsOptions, other.dart2jsOptions);
|
||||
stringListField("experiments", experiments, other.experiments);
|
||||
|
|
|
@ -1101,11 +1101,7 @@ abstract class VMKernelCompilerMixin {
|
|||
arguments.contains('--enable-asserts') ||
|
||||
arguments.contains('--enable_asserts'))
|
||||
'--enable-asserts',
|
||||
if (_configuration.useKernelBytecode) ...[
|
||||
'--gen-bytecode',
|
||||
'--drop-ast',
|
||||
'--bytecode-options=source-positions${_isProduct ? '' : ',local-var-info,debugger-stops'}'
|
||||
]
|
||||
..._configuration.genKernelOptions,
|
||||
];
|
||||
|
||||
var batchArgs = [if (useAbiVersion != null) useAbiVersion];
|
||||
|
|
|
@ -42,7 +42,6 @@ class TestConfiguration {
|
|||
this.reportInJson,
|
||||
this.resetBrowser,
|
||||
this.skipCompilation,
|
||||
this.useKernelBytecode,
|
||||
this.writeDebugLog,
|
||||
this.writeResults,
|
||||
this.writeLogs,
|
||||
|
@ -94,7 +93,6 @@ class TestConfiguration {
|
|||
final bool reportInJson;
|
||||
final bool resetBrowser;
|
||||
final bool skipCompilation;
|
||||
final bool useKernelBytecode;
|
||||
final bool writeDebugLog;
|
||||
final bool writeResults;
|
||||
final bool writeLogs;
|
||||
|
@ -147,6 +145,9 @@ class TestConfiguration {
|
|||
/// Extra dart2js options passed to the testing script.
|
||||
List<String> get dart2jsOptions => configuration.dart2jsOptions;
|
||||
|
||||
/// Extra gen_kernel options passed to the testing script.
|
||||
List<String> get genKernelOptions => configuration.genKernelOptions;
|
||||
|
||||
/// Extra VM options passed to the testing script.
|
||||
List<String> get vmOptions => configuration.vmOptions;
|
||||
|
||||
|
|
|
@ -744,8 +744,6 @@ compiler.''',
|
|||
reportInJson: data["report_in_json"] as bool,
|
||||
resetBrowser: data["reset_browser_configuration"] as bool,
|
||||
skipCompilation: data["skip_compilation"] as bool,
|
||||
useKernelBytecode:
|
||||
innerConfiguration.compiler == Compiler.dartkb,
|
||||
writeDebugLog: data["write_debug_log"] as bool,
|
||||
writeResults: data["write_results"] as bool,
|
||||
writeLogs: data["write_logs"] as bool,
|
||||
|
|
|
@ -182,7 +182,7 @@ dart/snapshot_version_test: RuntimeError # Please triage.
|
|||
dart/data_uri_spawn_test: Skip # Timeout
|
||||
dart/kernel_determinism_test: SkipSlow
|
||||
|
||||
[ $arch == arm || $arch == arm64 || $builder_tag == crossword || $compiler != dartkp ]
|
||||
[ $arch == arm || $arch == arm64 || $builder_tag == crossword || $builder_tag == crossword_ast || $compiler != dartkp ]
|
||||
dart/v8_snapshot_profile_writer_test: SkipByDesign # Only relevant for AOT. Doesn't work in cross-compilation (has to run on the host).
|
||||
|
||||
[ $arch == arm || $arch == ia32 || $arch == simarm || $arch == simdbc || $arch == simdbc64 ]
|
||||
|
@ -241,7 +241,7 @@ dart/generic_field_invocation_test: SkipByDesign # DBC and KBC interpreters do n
|
|||
[ $builder_tag == bytecode_interpreter || $builder_tag == bytecode_mixed || $builder_tag == optimization_counter_threshold || $hot_reload || $hot_reload_rollback || $arch != arm && $arch != simarm && $arch != x64 || $compiler != dartk && $compiler != dartkb && $compiler != dartkp ]
|
||||
dart/entrypoints/*: SkipByDesign # These tests are for compiler optimizations and very sensible to when functions are optimized, so they are disabled on hotreload, optcounter and bytecode interpreter bots.
|
||||
|
||||
[ $builder_tag == crossword || $compiler != dartkp || $system != linux && $system != macos && $system != windows ]
|
||||
[ $builder_tag == crossword || $builder_tag == crossword_ast || $compiler != dartkp || $system != linux && $system != macos && $system != windows ]
|
||||
dart/run_appended_aot_snapshot_test: SkipByDesign # Tests the precompiled runtime.
|
||||
|
||||
[ $compiler == dart2analyzer || $compiler == dart2js ]
|
||||
|
|
|
@ -446,6 +446,27 @@
|
|||
"use-elf": true
|
||||
}},
|
||||
"dartk-(linux|mac|win)-(debug|product|release)-(ia32|x64)": { },
|
||||
"dartk-(linux|mac|win)-(debug|product|release)-(ia32|simarm|simarm64|x64)-ast": {
|
||||
"options": {
|
||||
"builder-tag": "ast",
|
||||
"gen-kernel-options": ["--no-gen-bytecode"]
|
||||
}},
|
||||
"dartkp-(linux|mac)-(debug|product|release)-x64-ast": {
|
||||
"options": {
|
||||
"builder-tag": "ast",
|
||||
"gen-kernel-options": ["--no-gen-bytecode"]
|
||||
}},
|
||||
"dartkp-(linux|mac)-(debug|product|release)-simarm64-ast": {
|
||||
"options": {
|
||||
"builder-tag": "ast",
|
||||
"use-blobs": true,
|
||||
"gen-kernel-options": ["--no-gen-bytecode"]
|
||||
}},
|
||||
"dartkp-linux-(debug|product|release)-simarm-crossword-ast": {
|
||||
"options": {
|
||||
"builder-tag": "crossword_ast",
|
||||
"gen-kernel-options": ["--no-gen-bytecode"]
|
||||
}},
|
||||
"dartk-checked-(linux|mac|win)-(debug|product|release)-(ia32|x64)": {
|
||||
"options": {
|
||||
"enable-asserts": true
|
||||
|
@ -469,20 +490,45 @@
|
|||
"hot-reload-rollback": true
|
||||
}},
|
||||
"app_jitk-(linux|mac|win)-(debug|product|release)-(ia32|x64)": { },
|
||||
"dartkb-interpret-(linux|mac|win)-(debug|product|release)-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"dartkb-interpret-(linux|mac|win)-product-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"options": {
|
||||
"builder-tag": "bytecode_interpreter",
|
||||
"gen-kernel-options": [
|
||||
"--gen-bytecode",
|
||||
"--drop-ast",
|
||||
"--bytecode-options=source-positions"
|
||||
],
|
||||
"vm-options": ["--enable_interpreter", "--compilation-counter-threshold=-1"]
|
||||
}},
|
||||
"dartkb-mixed-(linux|mac|win)-(debug|product|release)-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"dartkb-interpret-(linux|mac|win)-(debug|release)-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"options": {
|
||||
"builder-tag": "bytecode_interpreter",
|
||||
"gen-kernel-options": [
|
||||
"--gen-bytecode",
|
||||
"--drop-ast",
|
||||
"--bytecode-options=source-positions,local-var-info,debugger-stops"
|
||||
],
|
||||
"vm-options": ["--enable_interpreter", "--compilation-counter-threshold=-1"]
|
||||
}},
|
||||
"dartkb-mixed-(linux|mac|win)-(debug|release)-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"options": {
|
||||
"builder-tag": "bytecode_mixed",
|
||||
"gen-kernel-options": [
|
||||
"--gen-bytecode",
|
||||
"--drop-ast",
|
||||
"--bytecode-options=source-positions,local-var-info,debugger-stops"
|
||||
],
|
||||
"vm-options": ["--enable_interpreter"]
|
||||
}},
|
||||
"dartkb-compile-(linux|mac|win)-(debug|product|release)-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"dartkb-mixed-(linux|mac|win)-product-(ia32|x64|arm|arm64|simarm|simarm64)": {
|
||||
"options": {
|
||||
"builder-tag": "bytecode_compiler",
|
||||
"vm-options": ["--use_bytecode_compiler"]
|
||||
"builder-tag": "bytecode_mixed",
|
||||
"gen-kernel-options": [
|
||||
"--gen-bytecode",
|
||||
"--drop-ast",
|
||||
"--bytecode-options=source-positions"
|
||||
],
|
||||
"vm-options": ["--enable_interpreter"]
|
||||
}},
|
||||
"(dartdevc|dartdevk)-checked-(linux|mac|win)-(debug|product|release)-(chrome|firefox)": {
|
||||
"options": {
|
||||
|
@ -575,12 +621,8 @@
|
|||
},
|
||||
{
|
||||
"builders": [
|
||||
"vm-dartkb-linux-debug-x64",
|
||||
"vm-dartkb-linux-release-x64",
|
||||
"vm-dartkb-linux-product-x64",
|
||||
"vm-dartkb-linux-debug-simarm64",
|
||||
"vm-dartkb-linux-release-simarm64",
|
||||
"vm-dartkb-linux-product-simarm64"
|
||||
"vm-dartkb-linux-release-simarm64"
|
||||
],
|
||||
"meta": {
|
||||
"description": "This configuration is used by the vm kbc builders."
|
||||
|
@ -619,23 +661,6 @@
|
|||
"fileset": "vm-kernel",
|
||||
"shards": 4
|
||||
},
|
||||
{
|
||||
"name": "vm bytecode compiler tests",
|
||||
"arguments": [
|
||||
"-ndartkb-compile-linux-${mode}-${arch}"
|
||||
],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 4
|
||||
},
|
||||
{
|
||||
"name": "vm bytecode compiler co19 tests",
|
||||
"arguments": [
|
||||
"-ndartkb-compile-linux-${mode}-${arch}",
|
||||
"co19_2"
|
||||
],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 4
|
||||
},
|
||||
{
|
||||
"name": "vm interpreter tests",
|
||||
"arguments": [
|
||||
|
@ -655,6 +680,92 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"builders": [
|
||||
"vm-kernel-ast-linux-debug-ia32",
|
||||
"vm-kernel-ast-linux-release-ia32",
|
||||
"vm-kernel-ast-linux-debug-x64",
|
||||
"vm-kernel-ast-linux-release-simarm",
|
||||
"vm-kernel-ast-linux-release-simarm64",
|
||||
"vm-kernel-ast-linux-release-x64",
|
||||
"vm-kernel-ast-win-debug-x64",
|
||||
"vm-kernel-ast-win-release-x64"
|
||||
],
|
||||
"meta": {
|
||||
"description": "This configuration is used by the vm legacy AST-mode (no-bytecode) JIT builders."
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "configure dart",
|
||||
"script": "tools/gn.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=${arch}",
|
||||
"--no-bytecode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "build dart",
|
||||
"script": "tools/build.py",
|
||||
"arguments": [
|
||||
"runtime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "vm tests",
|
||||
"arguments": [
|
||||
"-ndartk-${system}-${mode}-${arch}-ast"],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 8
|
||||
},
|
||||
{
|
||||
"name": "vm co19 tests",
|
||||
"arguments": [
|
||||
"-ndartk-${system}-${mode}-${arch}-ast",
|
||||
"co19_2"
|
||||
],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"builders": [
|
||||
"vm-kernel-precomp-ast-linux-debug-x64",
|
||||
"vm-kernel-precomp-ast-linux-release-simarm",
|
||||
"vm-kernel-precomp-ast-linux-release-simarm64",
|
||||
"vm-kernel-precomp-ast-linux-release-x64"
|
||||
],
|
||||
"meta": {
|
||||
"description": "This configuration is used by the vm legacy AST-mode (no-bytecode) AOT builders."
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "configure dart",
|
||||
"script": "tools/gn.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=${arch}",
|
||||
"--no-bytecode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "build dart",
|
||||
"script": "tools/build.py",
|
||||
"arguments": [
|
||||
"runtime",
|
||||
"dart_precompiled_runtime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "vm tests",
|
||||
"arguments": [
|
||||
"-ndartkp-${system}-${mode}-${arch}-ast"],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"builders": [
|
||||
"vm-canary-linux-debug"
|
||||
|
@ -751,7 +862,6 @@
|
|||
"vm-kernel-precomp-linux-release-simarm64",
|
||||
"vm-kernel-precomp-linux-release-x64",
|
||||
"vm-kernel-precomp-mac-release-simarm64",
|
||||
"vm-kernel-precomp-win-release-simarm64",
|
||||
"vm-kernel-precomp-win-release-x64"
|
||||
],
|
||||
"meta": {
|
||||
|
@ -2603,6 +2713,62 @@
|
|||
"shards": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"builders": [
|
||||
"vm-kernel-precomp-ast-linux-release-simarm_x64"
|
||||
],
|
||||
"meta": {
|
||||
"description": "This configuration runs tests for the simarm_x64 architecture in AST mode."
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"name": "configure dart for simarm_x64",
|
||||
"script": "tools/gn.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=simarm_x64",
|
||||
"--no-bytecode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "configure dart for simarm",
|
||||
"script": "tools/gn.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=simarm",
|
||||
"--no-bytecode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "build dart for simarm_x64",
|
||||
"script": "tools/build.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=simarm_x64",
|
||||
"gen_snapshot"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "build dart for simarm",
|
||||
"script": "tools/build.py",
|
||||
"arguments": [
|
||||
"--mode=${mode}",
|
||||
"--arch=simarm",
|
||||
"dart_precompiled_runtime",
|
||||
"vm_platform"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "vm tests",
|
||||
"arguments": [
|
||||
"-ndartkp-${system}-${mode}-simarm-crossword-ast",
|
||||
"--gen-snapshot=${build_root}/gen_snapshot"
|
||||
],
|
||||
"fileset": "vm-kernel",
|
||||
"shards": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue