Remove dart_noopt and related parts from the VM.

dart_noopt is not needed anymore because we have testing
and builbot integration of the real precompilation pipeline in place now.

Fixes #24569
Fixes #25726
Fixes #25845

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2624393002 .
This commit is contained in:
Florian Schneider 2017-01-11 16:55:55 -08:00
parent 2ec03cba70
commit bef4967ea1
27 changed files with 53 additions and 280 deletions

View file

@ -54,22 +54,6 @@ group("runtime_precompiled") {
]
}
group("runtime_and_noopt") {
if (defined(is_fuchsia) && (is_fuchsia || is_fuchsia_host)) {
testonly = true
}
deps = [
"runtime/bin:dart",
"runtime/bin:dart_bootstrap($host_toolchain)",
"runtime/bin:dart_noopt",
"runtime/bin:process_test",
"runtime/bin:run_vm_tests",
"runtime/bin:sample_extension",
"runtime/bin:test_extension",
"runtime/vm:patched_sdk",
]
}
action("create_sdk") {
deps = [
"runtime/bin:dart",
@ -86,7 +70,10 @@ action("create_sdk") {
]
sdk_lib_files = exec_script("tools/list_dart_files.py",
[ "absolute", rebase_path("sdk/lib") ],
[
"absolute",
rebase_path("sdk/lib"),
],
"list lines")
preamble_files =
@ -106,8 +93,7 @@ action("create_sdk") {
],
"list lines")
inputs = sdk_lib_files + preamble_files + sdk_bin_files +
[
inputs = sdk_lib_files + preamble_files + sdk_bin_files + [
"sdk/lib/dart_client.platform",
"sdk/lib/dart_server.platform",
"sdk/lib/dart_shared.platform",

View file

@ -46,23 +46,6 @@
'runtime/dart-runtime.gyp:generate_patched_sdk#host',
],
},
{
# This is the target that is built on the VM build bots. It
# must depend on anything that is required by the VM test
# suites.
'target_name': 'runtime_and_noopt',
'type': 'none',
'dependencies': [
'runtime/dart-runtime.gyp:dart',
'runtime/dart-runtime.gyp:dart_noopt',
'runtime/dart-runtime.gyp:dart_bootstrap#host',
'runtime/dart-runtime.gyp:run_vm_tests',
'runtime/dart-runtime.gyp:process_test',
'runtime/dart-runtime.gyp:test_extension',
'runtime/dart-runtime.gyp:sample_extension',
'runtime/dart-runtime.gyp:generate_patched_sdk#host',
],
},
{
'target_name': 'create_sdk',

View file

@ -226,17 +226,6 @@ libdart_library("libdart") {
]
}
libdart_library("libdart_noopt") {
extra_configs = [
":dart_maybe_precompiled_runtime_config",
":dart_precompiler_config",
]
extra_deps = [
"vm:libdart_lib",
"vm:libdart_vm_noopt",
]
}
libdart_library("libdart_precompiled_runtime") {
extra_configs = [ ":dart_precompiled_runtime_config" ]
extra_deps = [

View file

@ -620,16 +620,6 @@ dart_executable("dart") {
extra_sources = [ "builtin_nolib.cc" ]
}
dart_executable("dart_noopt") {
extra_configs = [ "..:dart_precompiler_config" ]
extra_deps = [
"..:libdart_noopt",
":dart_snapshot_cc",
"../observatory:standalone_observatory_archive",
]
extra_sources = [ "builtin_nolib.cc" ]
}
dart_executable("dart_precompiled_runtime") {
extra_configs = [ "..:dart_precompiled_runtime_config" ]
extra_deps = [

View file

@ -1166,63 +1166,6 @@
},
},
},
{
# dart binary with a snapshot of corelibs built in and support for testing
# precompilation (aka --noopt)
'target_name': 'dart_noopt',
'type': 'executable',
'dependencies': [
'build_observatory#host',
'generate_observatory_assets_cc_file#host',
'generate_resources_cc_file#host',
'generate_snapshot_file#host',
'libdart_builtin',
'libdart_io',
'libdart_noopt',
],
'include_dirs': [
'..',
],
'sources': [
'main.cc',
'builtin.h',
'builtin_common.cc',
'builtin_natives.cc',
'builtin_nolib.cc',
'io_natives.h',
'vmservice_impl.cc',
'vmservice_impl.h',
'<(observatory_assets_cc_file)',
'<(resources_cc_file)',
'<(snapshot_cc_file)',
],
'defines': [
'DART_PRECOMPILER',
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib', '-lwinmm.lib' ],
},
# Generate an import library on Windows, by exporting a function.
# Extensions use this import library to link to the API in dart.exe.
'msvs_settings': {
'VCLinkerTool': {
'AdditionalOptions': [ '/EXPORT:Dart_True' ],
},
},
}],
],
'configurations': {
'Dart_Linux_Base': {
# Have the linker add all symbols to the dynamic symbol table
# so that extensions can look them up dynamically in the binary.
'ldflags': [
'-rdynamic',
],
},
},
},
{
# dart binary for running precompiled snapshots without the compiler.
'target_name': 'dart_precompiled_runtime',

View file

@ -1055,7 +1055,7 @@ static void CreateAndWritePrecompiledSnapshot(
Dart_Handle result;
// Precompile with specified embedder entry points
result = Dart_Precompile(standalone_entry_points, true, NULL, 0);
result = Dart_Precompile(standalone_entry_points, NULL, 0);
CHECK_RESULT(result);
// Create a precompiled snapshot.

View file

@ -97,17 +97,6 @@ static bool parse_all = false;
static bool use_blobs = false;
// Global flag that is used to indicate that we want to compile everything in
// the same way as precompilation before main, then continue running in the
// same process.
// Always set this with dart_noopt.
#if defined(DART_PRECOMPILER) && !defined(DART_NO_SNAPSHOT)
static const bool is_noopt = true;
#else
static const bool is_noopt = false;
#endif
extern const char* kPrecompiledVMIsolateSymbolName;
extern const char* kPrecompiledIsolateSymbolName;
extern const char* kPrecompiledInstructionsSymbolName;
@ -730,10 +719,6 @@ static int ParseArguments(int argc,
Log::PrintErr("Empty package file name specified.\n");
return -1;
}
if (is_noopt && gen_snapshot_kind != kNone) {
Log::PrintErr("Generating a snapshot with dart_noopt is invalid.\n");
return -1;
}
if ((gen_snapshot_kind != kNone) && (snapshot_filename == NULL)) {
Log::PrintErr("Generating a snapshot requires a filename (--snapshot).\n");
return -1;
@ -830,19 +815,6 @@ static Dart_Isolate CreateIsolateAndSetupHelper(const char* script_uri,
char** error,
int* exit_code) {
ASSERT(script_uri != NULL);
const bool needs_load_port = true;
#if defined(PRODUCT)
const bool run_service_isolate = needs_load_port;
#else
// Always create the service isolate in DEBUG and RELEASE modes for profiling,
// even if we don't need it for loading.
const bool run_service_isolate = true;
#endif // PRODUCT
if (!run_service_isolate &&
(strcmp(script_uri, DART_VM_SERVICE_ISOLATE_NAME) == 0)) {
return NULL;
}
if (strcmp(script_uri, DART_KERNEL_ISOLATE_NAME) == 0) {
if (!use_dart_frontend) {
*error = strdup("Kernel isolate not supported.");
@ -925,12 +897,10 @@ static Dart_Isolate CreateIsolateAndSetupHelper(const char* script_uri,
result = DartUtils::PrepareForScriptLoading(false, trace_loading);
CHECK_RESULT(result);
if (needs_load_port) {
// Set up the load port provided by the service isolate so that we can
// load scripts.
result = DartUtils::SetupServiceLoadPort();
CHECK_RESULT(result);
}
// Set up the load port provided by the service isolate so that we can
// load scripts.
result = DartUtils::SetupServiceLoadPort();
CHECK_RESULT(result);
if (Dart_IsKernelIsolate(isolate)) {
script_uri = frontend_filename;
@ -1659,8 +1629,7 @@ bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) {
reinterpret_cast<IsolateData*>(Dart_IsolateData(isolate));
result = Dart_LibraryImportLibrary(isolate_data->builtin_lib(), root_lib,
Dart_Null());
if (is_noopt || (gen_snapshot_kind == kAppAOT) ||
(gen_snapshot_kind == kAppJIT)) {
if ((gen_snapshot_kind == kAppAOT) || (gen_snapshot_kind == kAppJIT)) {
// Load the embedder's portion of the VM service's Dart code so it will
// be included in the app snapshot.
if (!VmService::LoadForGenPrecompiled()) {
@ -1684,7 +1653,7 @@ bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) {
return false;
}
if (is_noopt || (gen_snapshot_kind == kAppAOT)) {
if (gen_snapshot_kind == kAppAOT) {
Dart_QualifiedFunctionName standalone_entry_points[] = {
{"dart:_builtin", "::", "_getMainClosure"},
{"dart:_builtin", "::", "_getPrintClosure"},
@ -1737,9 +1706,8 @@ bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) {
file->Release();
}
const bool reset_fields = gen_snapshot_kind == kAppAOT;
result = Dart_Precompile(standalone_entry_points, reset_fields,
feedback_buffer, feedback_length);
result = Dart_Precompile(standalone_entry_points, feedback_buffer,
feedback_length);
if (feedback_buffer != NULL) {
free(feedback_buffer);
}
@ -1967,7 +1935,7 @@ void main(int argc, char** argv) {
vm_options.AddArgument("--collect_code=false");
#endif
}
if ((gen_snapshot_kind == kAppAOT) || is_noopt) {
if (gen_snapshot_kind == kAppAOT) {
vm_options.AddArgument("--precompilation");
}
#if defined(DART_PRECOMPILED_RUNTIME)

View file

@ -229,7 +229,7 @@ main() {
VMServiceEmbedderHooks.webServerControl = webServerControlCallback;
// Always instantiate the vmservice object so that the exit message
// can be delivered and waiting loaders can be cancelled.
var service = new VMService();
new VMService();
if (_autoStart) {
_lazyServerBoot();
server.startup();

View file

@ -54,41 +54,6 @@
],
},
},
{
'target_name': 'libdart_noopt',
'type': 'static_library',
'dependencies': [
'libdart_lib',
'libdart_vm_noopt',
'libdouble_conversion',
'generate_version_cc_file#host',
],
'include_dirs': [
'.',
],
'sources': [
'include/dart_api.h',
'include/dart_mirrors_api.h',
'include/dart_native_api.h',
'include/dart_tools_api.h',
'vm/dart_api_impl.cc',
'vm/debugger_api_impl.cc',
'vm/mirrors_api_impl.cc',
'vm/native_api_impl.cc',
'vm/version.h',
'<(version_cc_file)',
],
'defines': [
# The only effect of DART_SHARED_LIB is to export the Dart API entries.
'DART_SHARED_LIB',
'DART_PRECOMPILER',
],
'direct_dependent_settings': {
'include_dirs': [
'include',
],
},
},
{
'target_name': 'libdart_precompiled_runtime',
'type': 'static_library',

View file

@ -3202,15 +3202,13 @@ typedef struct {
* reset_fields is true when we are about to create a precompilated snapshot.
* Some fields are already been initialized as part of the loading logic, and
* we want them to be reinitialized in the new process that will load the
* snapshot. reset_fields is false for --noopt, which will continue running in
* the same process.
* snapshot.
*
* \return An error handle if a compilation error or runtime error running const
* constructors was encountered.
*/
DART_EXPORT Dart_Handle
Dart_Precompile(Dart_QualifiedFunctionName entry_points[],
bool reset_fields,
uint8_t* jit_feedback,
intptr_t jit_feedback_length);

View file

@ -130,15 +130,15 @@ DEFINE_NATIVE_ENTRY(VMService_SendObjectRootServiceMessage, 1) {
DEFINE_NATIVE_ENTRY(VMService_OnStart, 0) {
#ifndef PRODUCT
if (!FLAG_support_service) {
return Object::null();
}
if (FLAG_trace_service) {
OS::Print("vm-service: Booting dart:vmservice library.\n");
}
// Boot the dart:vmservice library.
ServiceIsolate::BootVmServiceLibrary();
if (!FLAG_support_service) {
return Object::null();
}
#ifndef PRODUCT
// Register running isolates with service.
RegisterRunningIsolatesVisitor register_isolates(thread);
if (FLAG_trace_service) {

View file

@ -46,7 +46,7 @@ get_isolate_after_language_error_test: SkipByDesign
[ $arch == arm ]
process_service_test: Pass, Fail # Issue 24344
[ ($noopt || $compiler == precompiler) ]
[ $compiler == precompiler ]
*: Skip # Issue 24651
[ $runtime == vm ]

View file

@ -243,16 +243,16 @@ cc/IsolateReload_TypeIdentity: Fail # Issue 28349
cc/IsolateReload_TypeIdentityGeneric: Fail # Issue 28349
cc/IsolateReload_TypeIdentityParameter: Fail # Issue 28349
[ $noopt || $compiler == precompiler ]
[ $compiler == precompiler ]
dart/byte_array_test: Skip # Incompatible flag --disable_alloc_stubs_after_gc
[ $noopt || $compiler == precompiler || $mode == product ]
[ $compiler == precompiler || $mode == product ]
dart/redirection_type_shuffling_test: SkipByDesign # Imports dart:mirrors
cc/CreateMirrorSystem: SkipByDesign # Imports dart:mirrors
cc/CoreSnapshotSize: SkipByDesign # Imports dart:mirrors
cc/StandaloneSnapshotSize: SkipByDesign # Imports dart:mirrors
[ $noopt || $runtime == dart_precompiled ]
[ $runtime == dart_precompiled ]
# StackTraces in precompilation omit inlined frames.
dart/inline_stack_frame_test: Pass, RuntimeError
dart/optimized_stacktrace_test: Pass, RuntimeError

View file

@ -6573,7 +6573,6 @@ Dart_Handle Dart_SaveJITFeedback(uint8_t** buffer, intptr_t* buffer_length) {
DART_EXPORT Dart_Handle
Dart_Precompile(Dart_QualifiedFunctionName entry_points[],
bool reset_fields,
uint8_t* jit_feedback,
intptr_t jit_feedback_length) {
#if defined(TARGET_ARCH_IA32)
@ -6594,8 +6593,8 @@ Dart_Precompile(Dart_QualifiedFunctionName entry_points[],
return result;
}
CHECK_CALLBACK_STATE(T);
const Error& error = Error::Handle(Precompiler::CompileAll(
entry_points, reset_fields, jit_feedback, jit_feedback_length));
const Error& error = Error::Handle(
Precompiler::CompileAll(entry_points, jit_feedback, jit_feedback_length));
if (!error.IsNull()) {
return Api::NewHandle(T, error.raw());
}

View file

@ -90,7 +90,8 @@ static void PrecompilationModeHandler(bool value) {
FLAG_unbox_numeric_fields = false;
#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME)
// Set flags affecting runtime accordingly for dart_noopt.
// Set flags affecting runtime accordingly for dart_bootstrap.
// These flags are constants with PRODUCT and DART_PRECOMPILED_RUNTIME.
FLAG_collect_code = false;
FLAG_support_debugger = false;
FLAG_deoptimize_alot = false; // Used in some tests.

View file

@ -220,12 +220,11 @@ TypeRangeCache::~TypeRangeCache() {
RawError* Precompiler::CompileAll(
Dart_QualifiedFunctionName embedder_entry_points[],
bool reset_fields,
uint8_t* jit_feedback,
intptr_t jit_feedback_length) {
LongJumpScope jump;
if (setjmp(*jump.Set()) == 0) {
Precompiler precompiler(Thread::Current(), reset_fields);
Precompiler precompiler(Thread::Current());
precompiler.LoadFeedback(jit_feedback, jit_feedback_length);
precompiler.DoCompileAll(embedder_entry_points);
return Error::null();
@ -332,11 +331,10 @@ bool TypeRangeCache::InstanceOfHasClassRange(const AbstractType& type,
}
Precompiler::Precompiler(Thread* thread, bool reset_fields)
Precompiler::Precompiler(Thread* thread)
: thread_(thread),
zone_(NULL),
isolate_(thread->isolate()),
reset_fields_(reset_fields),
jit_feedback_(NULL),
changed_(false),
function_count_(0),
@ -686,9 +684,9 @@ void Precompiler::AddRoots(Dart_QualifiedFunctionName embedder_entry_points[]) {
{"dart:typed_data", "ByteData", "ByteData."},
{"dart:typed_data", "ByteData", "ByteData._view"},
{"dart:typed_data", "_ByteBuffer", "_ByteBuffer._New"},
#if !defined(PRODUCT)
{"dart:_vmservice", "::", "_registerIsolate"},
{"dart:_vmservice", "::", "boot"},
#if !defined(PRODUCT)
{"dart:developer", "Metrics", "_printMetrics"},
{"dart:developer", "::", "_runExtension"},
{"dart:isolate", "::", "_runPendingImmediateCallback"},
@ -1184,9 +1182,6 @@ void Precompiler::AddField(const Field& field) {
// Should not be in the middle of initialization while precompiling.
ASSERT(value.raw() != Object::transition_sentinel().raw());
const bool is_initialized = value.raw() != Object::sentinel().raw();
if (is_initialized && !reset_fields_) return;
if (!field.HasPrecompiledInitializer() ||
!Function::Handle(Z, field.PrecompiledInitializer()).HasCode()) {
if (FLAG_trace_precompiler) {

View file

@ -386,7 +386,6 @@ class Precompiler : public ValueObject {
public:
static RawError* CompileAll(
Dart_QualifiedFunctionName embedder_entry_points[],
bool reset_fields,
uint8_t* jit_feedback,
intptr_t jit_feedback_length);
@ -419,7 +418,7 @@ class Precompiler : public ValueObject {
void TryApplyFeedback(ParsedJSONArray* js_icdatas, const ICData& ic);
private:
Precompiler(Thread* thread, bool reset_fields);
explicit Precompiler(Thread* thread);
void LoadFeedback(uint8_t* jit_feedback, intptr_t jit_feedback_length);
ParsedJSONObject* LookupFeedback(const Function& function);
@ -486,8 +485,6 @@ class Precompiler : public ValueObject {
Zone* zone_;
Isolate* isolate_;
const bool reset_fields_;
ParsedJSONObject* jit_feedback_;
bool changed_;

View file

@ -283,11 +283,11 @@ Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t05: MissingCompile
Language/Expressions/Property_Extraction/General_Super_Property_Extraction: CompileTimeError # Issue 26287
Language/Expressions/Property_Extraction/Super_Closurization: CompileTimeError # Issue 26287
[ $noopt || $runtime == dart_precompiled || $mode == product ]
[ $runtime == dart_precompiled || $mode == product ]
Language/Metadata/*: SkipByDesign # Uses dart:mirrors
Language/Expressions/Null/instance_of_class_null_t01: Skip # Uses dart:mirrors
[ $noopt || $compiler == precompiler || $compiler == app_jit || $mode == product ]
[ $compiler == precompiler || $compiler == app_jit || $mode == product ]
Language/Libraries_and_Scripts/Imports/deferred_import_t01: Skip # Eager loading
Language/Libraries_and_Scripts/Imports/deferred_import_t02: Skip # Eager loading
Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t01: Skip # Eager loading
@ -296,13 +296,13 @@ Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t02: Skip # Eager lo
[ $runtime == dart_precompiled || $compiler == app_jit ]
LibTest/isolate/Isolate/spawnUri*: SkipByDesign # Isolate.spawnUri
[ $noopt || $compiler == precompiler ]
[ $compiler == precompiler ]
LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Timeout
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Timeout
LibTest/core/Map/Map_class_A01_t04: Pass, Timeout
LibTest/core/Uri/encodeQueryComponent_A01_t02: Pass, Timeout
[ $noopt || $compiler == precompiler || $compiler == app_jit ]
[ $compiler == precompiler || $compiler == app_jit ]
Language/Mixins/Mixin_Application/error_t01: Pass
Language/Mixins/Mixin_Application/error_t02: Pass
Language/Mixins/declaring_constructor_t01: Pass

View file

@ -188,15 +188,14 @@ core_runtime_types_test: Pass, RuntimeError # Issue 25795.
regexp/pcre_test: Crash # Stack Overflow
collection_removes_test: Crash # Issue 25911
[ $noopt || $compiler == precompiler ]
[ $compiler == precompiler || $mode == product ]
apply3_test: SkipByDesign # Imports dart:mirrors
[ $compiler == precompiler ]
# Stacktraces in precompilation omit inlined frames.
stacktrace_current_test: Pass, RuntimeError
error_stack_trace1_test: Pass, RuntimeError
[ $noopt || $compiler == precompiler || $mode == product ]
apply3_test: SkipByDesign # Imports dart:mirrors
[ $noopt || $compiler == precompiler ]
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter
big_integer_huge_mul_vm_test: Pass, Timeout # --no_intrinsify
big_integer_parsed_mul_div_vm_test: Pass, Timeout # --no_intrinsify

View file

@ -170,7 +170,7 @@ package_resolve_test: SkipByDesign # Uses Isolate.resolvePackageUri
spawn_uri_fail_test: SkipByDesign # Uses dart:io.
scenarios/*: SkipByDesign # Use automatic package resolution, spawnFunction and .dart URIs.
[ $noopt || $compiler == precompiler || $mode == product ]
[ $compiler == precompiler || $mode == product ]
# Imports dart:mirrors
count_test: SkipByDesign
cross_isolate_message_test: SkipByDesign

View file

@ -160,7 +160,7 @@ vm/regress_24517_test: Pass, Fail # Issue 24517.
[ $compiler == precompiler && $runtime == dart_precompiled ]
vm/regress_27671_test: Skip # Unsupported
[ $noopt || $runtime == dart_precompiled ]
[ $runtime == dart_precompiled ]
# Stacktraces in precompilation omit inlined frames.
full_stacktrace1_test: Pass, RuntimeError
full_stacktrace2_test: Pass, RuntimeError
@ -172,7 +172,7 @@ stacktrace_test: Pass, RuntimeError
vm/regress_28325_test: RuntimeError # Missing source position in AOT.
[ $noopt || $runtime == dart_precompiled || $mode == product ]
[ $runtime == dart_precompiled || $mode == product ]
# Imports dart:mirrors
const_evaluation_test: SkipByDesign
deferred_constraints_constants_test: SkipByDesign
@ -196,18 +196,6 @@ super_getter_setter_test: SkipByDesign
vm/reflect_core_vm_test: SkipByDesign
regress_28255_test: SkipByDesign
[ $noopt ]
# Deferred loading happens eagerly. Issue #27587
regress_23408_test: Fail
deferred_inheritance_constraints_test/redirecting_constructor: Fail
deferred_global_test: Fail
deferred_load_constants_test/02: Fail
deferred_load_constants_test/03: Fail
deferred_load_constants_test/05: Fail
regress_22443_test: Fail
deferred_not_loaded_check_test: Fail
vm/regress_27201_test: Fail
[ $mode == product || $compiler == app_jit || $compiler == precompiler ]
# Deferred loading happens eagerly. Issue #27587
regress_23408_test: Fail
@ -223,15 +211,13 @@ vm/regress_27201_test: Fail
deferred_global_test: Fail
vm/regress_27201_test: Fail
[ $compiler == precompiler || $compiler == app_jit ]
ct_const2_test: Skip # Incompatible flag: --compile_all
hello_dart_test: Skip # Incompatible flag: --compile_all
[ $compiler == precompiler ]
implicit_closure_test: Skip # Incompatible flag: --use_slow_path
deopt_inlined_function_lazy_test: Skip # Incompatible flag: --deoptimize-alot
[ $noopt || $compiler == precompiler || $compiler == app_jit ]
[ $compiler == precompiler || $compiler == app_jit ]
ct_const2_test: Skip # Incompatible flag: --compile_all
hello_dart_test: Skip # Incompatible flag: --compile_all
vm/type_vm_test: RuntimeError # Expects line and column numbers
vm/type_cast_vm_test: RuntimeError # Expects line and column numbers
@ -261,11 +247,11 @@ library_env_test/has_no_html_support: RuntimeError, OK
library_env_test/has_html_support: RuntimeError, OK
library_env_test/has_no_io_support: RuntimeError, OK
[ ($compiler == none || $compiler == app_jit) && $noopt == false && $mode != product ]
[ ($compiler == none || $compiler == app_jit) && $mode != product ]
# The following tests are supposed to fail.
library_env_test/has_no_mirror_support: RuntimeError, OK
[ $noopt || $runtime == dart_precompiled || $mode == product ]
[ $runtime == dart_precompiled || $mode == product ]
# The following tests are supposed to fail.
library_env_test/has_mirror_support: RuntimeError, OK

View file

@ -412,13 +412,10 @@ mirrors/typedef_library_test: Crash # Assertion failure: typedef(G) has not been
[ $compiler != dart2js ]
async/dart2js_uncaught_error_test: Skip # JS-integration only test
[ $noopt && $arch == simarm64 ]
async/slow_consumer2_test: Pass, RuntimeError # Issue 25726
[ $noopt || $compiler == precompiler || $mode == product ]
[ $compiler == precompiler || $mode == product ]
mirrors/*: SkipByDesign
[ $noopt || $compiler == precompiler ]
[ $compiler == precompiler ]
convert/chunked_conversion_utf88_test: Pass, Timeout
convert/utf85_test: Pass, Timeout

View file

@ -222,11 +222,9 @@ io/secure_socket_bad_data_test: RuntimeError # An error in a secure connection
no_allow_absolute_addresses_test: SkipByDesign # Not supported.
link_natives_lazily_test: SkipByDesign # Not supported.
[ $noopt || $compiler == precompiler ]
[ $compiler == precompiler ]
# Stacktraces in precompilation omit inlined frames.
assert_test: Pass, RuntimeError
[ $noopt || $compiler == precompiler ]
map_insert_remove_oom_test: Skip # Heap limit too low. Increasing iteration count to make a higher limit a meaningful test makes it too slow for simarm[64] bots.
io/web_socket_test: Pass, RuntimeError # Issue 24674

View file

@ -234,9 +234,7 @@ class StandaloneDartRuntimeConfiguration extends DartVmRuntimeConfiguration {
type != 'application/dart-snapshot') {
throw "Dart VM cannot run files of type '$type'.";
}
String executable = suite.configuration['noopt']
? suite.dartVmNooptBinaryFileName
: suite.dartVmBinaryFileName;
String executable = suite.dartVmBinaryFileName;
return <Command>[
commandBuilder.getVmCommand(executable, arguments, environmentOverrides)
];

View file

@ -107,7 +107,6 @@ Future testConfigurations(List<Map> configurations) async {
.toList();
if (conf['checked']) settings.add('checked');
if (conf['strong']) settings.add('strong');
if (conf['noopt']) settings.add('noopt');
output_words.add(settings.join('_'));
}
print(output_words.join(' '));

View file

@ -206,9 +206,6 @@ class TestOptionsParser {
[],
false,
type: 'bool'),
new _TestOptionSpecification(
'noopt', 'Run an in-place precompilation', ['--noopt'], [], false,
type: 'bool'),
new _TestOptionSpecification(
'fast_startup',
'Pass the --fast-startup flag to dart2js',

View file

@ -216,21 +216,6 @@ abstract class TestSuite {
return flutterExecutable;
}
String get dartVmNooptBinaryFileName {
// Controlled by user with the option "--dart".
String dartExecutable = configuration['dart'];
if (dartExecutable == '') {
String suffix = executableBinarySuffix;
dartExecutable = useSdk
? '$buildDir/dart-sdk/bin/dart_noopt$suffix'
: '$buildDir/dart_noopt$suffix';
}
TestUtils.ensureExists(dartExecutable, configuration);
return dartExecutable;
}
String get dartPrecompiledBinaryFileName {
// Controlled by user with the option "--dart_precompiled".
String dartExecutable = configuration['dart_precompiled'];