[vm/concurrency] Add --experimental_enable_isolate_groups_jit flag, make --enable_isolate_groups AOT only.
Issue b/177800357. TEST=existing test suite Change-Id: Id6b113932ab7014b8fa6c105845c5c490b60f5e8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181320 Commit-Queue: Alexander Aprelev <aam@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
10abe4edab
commit
6b3abe0a98
@@ -586,7 +586,7 @@ class SpawnIsolateTask : public ThreadPool::Task {
|
||||
ASSERT(name != nullptr);
|
||||
|
||||
auto group = state_->isolate_group();
|
||||
if (!FLAG_enable_isolate_groups || group == nullptr) {
|
||||
if (!IsolateGroup::AreIsolateGroupsEnabled() || group == nullptr) {
|
||||
RunHeavyweight(name);
|
||||
} else {
|
||||
RunLightweight(name);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
@@ -18,8 +18,10 @@ import '../../../../../tests/ffi/calloc.dart';
|
||||
import '../../../../../tests/ffi/dylib_utils.dart';
|
||||
|
||||
final bool isAOT = Platform.executable.contains('dart_precompiled_runtime');
|
||||
final bool isolateGropusEnabled =
|
||||
final bool isolateGroupsEnabled =
|
||||
Platform.executableArguments.contains('--enable-isolate-groups');
|
||||
final bool isolateGroupsEnabledInJIT = Platform.executableArguments
|
||||
.contains('--experimental-enable-isolate-groups-jit');
|
||||
final sdkRoot = Platform.script.resolve('../../../../../');
|
||||
|
||||
class Isolate extends Opaque {}
|
||||
@@ -242,13 +244,17 @@ Future testJit() async {
|
||||
}
|
||||
|
||||
Future main(args) async {
|
||||
if (!isolateGropusEnabled) {
|
||||
if (!isolateGroupsEnabled) {
|
||||
await testNotSupported();
|
||||
return;
|
||||
}
|
||||
if (isAOT) {
|
||||
await testAot();
|
||||
} else {
|
||||
await testJit();
|
||||
if (isolateGroupsEnabledInJIT) {
|
||||
await testJit();
|
||||
} else {
|
||||
await testNotSupported();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification --disable-thread-pool-limit
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification --disable-thread-pool-limit
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:math' as math;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:math' as math;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:math' as math;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
//
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
//
|
||||
// Validates functionality of sendAndExit.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Test that validates that transferables are faster than regular typed data.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Test that ensures correct exceptions are thrown when misusing
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
@@ -18,8 +18,10 @@ import '../../../../../tests/ffi/calloc.dart';
|
||||
import '../../../../../tests/ffi/dylib_utils.dart';
|
||||
|
||||
final bool isAOT = Platform.executable.contains('dart_precompiled_runtime');
|
||||
final bool isolateGropusEnabled =
|
||||
final bool isolateGroupsEnabled =
|
||||
Platform.executableArguments.contains('--enable-isolate-groups');
|
||||
final bool isolateGroupsEnabledInJIT = Platform.executableArguments
|
||||
.contains('--experimental-enable-isolate-groups-jit');
|
||||
final sdkRoot = Platform.script.resolve('../../../../../');
|
||||
|
||||
class Isolate extends Opaque {}
|
||||
@@ -242,13 +244,17 @@ Future testJit() async {
|
||||
}
|
||||
|
||||
Future main(args) async {
|
||||
if (!isolateGropusEnabled) {
|
||||
if (!isolateGroupsEnabled) {
|
||||
await testNotSupported();
|
||||
return;
|
||||
}
|
||||
if (isAOT) {
|
||||
await testAot();
|
||||
} else {
|
||||
await testJit();
|
||||
if (isolateGroupsEnabledInJIT) {
|
||||
await testJit();
|
||||
} else {
|
||||
await testNotSupported();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification --disable-thread-pool-limit
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification --disable-thread-pool-limit
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:math' as math;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:math' as math;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:math' as math;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// SharedObjects=ffi_test_functions
|
||||
// VMOptions=--enable-isolate-groups --disable-heap-verification
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit --disable-heap-verification
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
//
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
//
|
||||
// Validates functionality of sendAndExit.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Test that validates that transferables are faster than regular typed data.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Test that ensures correct exceptions are thrown when misusing
|
||||
|
||||
@@ -209,7 +209,7 @@ bool FlowGraphCompiler::IsUnboxedField(const Field& field) {
|
||||
ASSERT(!field.is_non_nullable_integer() || FLAG_precompiled_mode);
|
||||
// Unboxed fields in JIT lightweight isolates mode are not supported yet.
|
||||
const bool valid_class =
|
||||
(FLAG_precompiled_mode || !FLAG_enable_isolate_groups) &&
|
||||
(FLAG_precompiled_mode || !IsolateGroup::AreIsolateGroupsEnabled()) &&
|
||||
((SupportsUnboxedDoubles() && (field.guarded_cid() == kDoubleCid)) ||
|
||||
(SupportsUnboxedSimd128() && (field.guarded_cid() == kFloat32x4Cid)) ||
|
||||
(SupportsUnboxedSimd128() && (field.guarded_cid() == kFloat64x2Cid)) ||
|
||||
@@ -225,7 +225,8 @@ bool FlowGraphCompiler::IsPotentialUnboxedField(const Field& field) {
|
||||
return IsUnboxedField(field);
|
||||
}
|
||||
// Unboxed fields in JIT lightweight isolates mode are not supported yet.
|
||||
return !FLAG_enable_isolate_groups && field.is_unboxing_candidate() &&
|
||||
return !IsolateGroup::AreIsolateGroupsEnabled() &&
|
||||
field.is_unboxing_candidate() &&
|
||||
(FlowGraphCompiler::IsUnboxedField(field) ||
|
||||
(field.guarded_cid() == kIllegalCid));
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ DEFINE_RUNTIME_ENTRY(CompileFunction, 1) {
|
||||
ASSERT(thread->IsMutatorThread());
|
||||
const Function& function = Function::CheckedHandle(zone, arguments.ArgAt(0));
|
||||
|
||||
if (FLAG_enable_isolate_groups) {
|
||||
if (IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
// Another isolate's mutator thread may have created [function] and
|
||||
// published it via an ICData, MegamorphicCache etc. Entering the lock below
|
||||
// is an acquire operation that pairs with the release operation when the
|
||||
@@ -225,7 +225,7 @@ DEFINE_RUNTIME_ENTRY(CompileFunction, 1) {
|
||||
// there's no existing code. In multi-isolate scenarios with shared JITed code
|
||||
// we can end up in the lazy compile runtime entry here with code being
|
||||
// installed.
|
||||
ASSERT(!function.HasCode() || FLAG_enable_isolate_groups);
|
||||
ASSERT(!function.HasCode() || IsolateGroup::AreIsolateGroupsEnabled());
|
||||
|
||||
// Will throw if compilation failed (e.g. with compile-time error).
|
||||
function.EnsureHasCode();
|
||||
|
||||
@@ -1408,7 +1408,7 @@ Dart_CreateIsolateInGroup(Dart_Isolate group_member,
|
||||
|
||||
*error = nullptr;
|
||||
|
||||
if (!FLAG_enable_isolate_groups) {
|
||||
if (!IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
*error = Utils::StrDup(
|
||||
"Lightweight isolates are only implemented in AOT "
|
||||
"mode and need to be explicitly enabled by passing "
|
||||
|
||||
@@ -189,7 +189,12 @@ constexpr bool kDartUseBackgroundCompilation = true;
|
||||
P(retain_function_objects, bool, true, \
|
||||
"Serialize function objects for all code objects even if not otherwise " \
|
||||
"needed in the precompiled runtime.") \
|
||||
P(enable_isolate_groups, bool, false, "Enable isolate group support.") \
|
||||
P(enable_isolate_groups, bool, false, \
|
||||
"Enable isolate group support in AOT.") \
|
||||
P(experimental_enable_isolate_groups_jit, bool, false, \
|
||||
"As an experimental feature enable isolate group support in JIT" \
|
||||
"(goes into effect only when enable_isolate_groups is turned on as " \
|
||||
"well).") \
|
||||
P(show_invisible_frames, bool, false, \
|
||||
"Show invisible frames in stack traces.") \
|
||||
R(support_il_printer, false, bool, true, "Support the IL printer.") \
|
||||
|
||||
+2
-1
@@ -5,6 +5,7 @@
|
||||
#include "vm/flags.h"
|
||||
|
||||
#include "platform/assert.h"
|
||||
#include "vm/isolate.h"
|
||||
#include "vm/json_stream.h"
|
||||
#include "vm/os.h"
|
||||
|
||||
@@ -472,7 +473,7 @@ char* Flags::ProcessCommandLineFlags(int number_of_vm_flags,
|
||||
// graudally remove those restrictions.
|
||||
|
||||
#if !defined(DART_PRCOMPILED_RUNTIME)
|
||||
if (!FLAG_precompiled_mode && FLAG_enable_isolate_groups) {
|
||||
if (!FLAG_precompiled_mode && IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
// Our compiler should not make rely on a global field being initialized at
|
||||
// compile-time, since that compiled code might be re-used in another
|
||||
// isolate that has not yet initialized the global field.
|
||||
|
||||
@@ -576,7 +576,7 @@ class MergeIsolatesHeapsHandler : public MessageHandler {
|
||||
|
||||
VM_UNIT_TEST_CASE(CleanupBequestNeverReceived) {
|
||||
// This test uses features from isolate groups
|
||||
FLAG_enable_isolate_groups = true;
|
||||
IsolateGroup::ForceEnableIsolateGroupsForTesting();
|
||||
|
||||
const char* TEST_MESSAGE = "hello, world";
|
||||
Dart_Isolate parent = TestCase::CreateTestIsolate("parent");
|
||||
@@ -611,7 +611,7 @@ VM_UNIT_TEST_CASE(CleanupBequestNeverReceived) {
|
||||
|
||||
VM_UNIT_TEST_CASE(ReceivesSendAndExitMessage) {
|
||||
// This test uses features from isolate groups
|
||||
FLAG_enable_isolate_groups = true;
|
||||
IsolateGroup::ForceEnableIsolateGroupsForTesting();
|
||||
|
||||
const char* TEST_MESSAGE = "hello, world";
|
||||
Dart_Isolate parent = TestCase::CreateTestIsolate("parent");
|
||||
|
||||
@@ -104,7 +104,7 @@ void VerifyCanonicalVisitor::VisitObject(ObjectPtr obj) {
|
||||
// other isolates. We should either scan live objects from the roots of each
|
||||
// individual isolate, or wait until we are ready to share constants across
|
||||
// isolates.
|
||||
if (!FLAG_enable_isolate_groups || FLAG_precompiled_mode) {
|
||||
if (!IsolateGroup::AreIsolateGroupsEnabled() || FLAG_precompiled_mode) {
|
||||
if ((obj->GetClassId() >= kInstanceCid) &&
|
||||
(obj->GetClassId() != kTypeArgumentsCid)) {
|
||||
if (obj->untag()->IsCanonical()) {
|
||||
|
||||
@@ -1984,7 +1984,7 @@ bool IsolateGroup::ReloadSources(JSONStream* js,
|
||||
ASSERT(!IsReloading());
|
||||
|
||||
// TODO(dartbug.com/36097): Support multiple isolates within an isolate group.
|
||||
RELEASE_ASSERT(!FLAG_enable_isolate_groups);
|
||||
RELEASE_ASSERT(!IsolateGroup::AreIsolateGroupsEnabled());
|
||||
RELEASE_ASSERT(isolates_.First() == isolates_.Last());
|
||||
RELEASE_ASSERT(isolates_.First() == Isolate::Current());
|
||||
|
||||
@@ -2017,7 +2017,7 @@ bool IsolateGroup::ReloadKernel(JSONStream* js,
|
||||
ASSERT(!IsReloading());
|
||||
|
||||
// TODO(dartbug.com/36097): Support multiple isolates within an isolate group.
|
||||
RELEASE_ASSERT(!FLAG_enable_isolate_groups);
|
||||
RELEASE_ASSERT(!IsolateGroup::AreIsolateGroupsEnabled());
|
||||
RELEASE_ASSERT(isolates_.First() == isolates_.Last());
|
||||
RELEASE_ASSERT(isolates_.First() == Isolate::Current());
|
||||
|
||||
@@ -2534,7 +2534,7 @@ void Isolate::LowLevelCleanup(Isolate* isolate) {
|
||||
Dart::thread_pool()->Run<ShutdownGroupTask>(isolate_group);
|
||||
}
|
||||
} else {
|
||||
if (FLAG_enable_isolate_groups) {
|
||||
if (IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
// TODO(dartbug.com/36097): An isolate just died. A significant amount of
|
||||
// memory might have become unreachable. We should evaluate how to best
|
||||
// inform the GC about this situation.
|
||||
@@ -2696,7 +2696,7 @@ void IsolateGroup::RunWithStoppedMutatorsCallable(
|
||||
bool use_force_growth_in_otherwise) {
|
||||
auto thread = Thread::Current();
|
||||
|
||||
if (thread->IsMutatorThread() && !FLAG_enable_isolate_groups) {
|
||||
if (thread->IsMutatorThread() && !IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
single_current_mutator->Call();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -708,6 +708,20 @@ class IsolateGroup : public IntrusiveDListEntry<IsolateGroup> {
|
||||
|
||||
void RegisterStaticField(const Field& field, const Instance& initial_value);
|
||||
|
||||
static bool AreIsolateGroupsEnabled() {
|
||||
#if defined(DART_PRECOMPILED_RUNTIME)
|
||||
return FLAG_enable_isolate_groups;
|
||||
#else
|
||||
return FLAG_enable_isolate_groups &&
|
||||
FLAG_experimental_enable_isolate_groups_jit;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void ForceEnableIsolateGroupsForTesting() {
|
||||
FLAG_enable_isolate_groups = true;
|
||||
FLAG_experimental_enable_isolate_groups_jit = true;
|
||||
}
|
||||
|
||||
private:
|
||||
friend class Dart; // For `object_store_ = ` in Dart::Init
|
||||
friend class Heap;
|
||||
|
||||
@@ -565,7 +565,7 @@ bool IsolateGroupReloadContext::Reload(bool force_reload,
|
||||
// All isolates within an isolate group need to share one heap.
|
||||
// TODO(dartbug.com/36097): Remove this assert once the shared heap CL has
|
||||
// landed.
|
||||
RELEASE_ASSERT(!FLAG_enable_isolate_groups);
|
||||
RELEASE_ASSERT(!IsolateGroup::AreIsolateGroupsEnabled());
|
||||
Heap* heap = IG->heap();
|
||||
|
||||
num_old_libs_ =
|
||||
|
||||
@@ -685,7 +685,7 @@ static void UpdateTypeTestCache(
|
||||
new_cache.WriteEntryToBuffer(zone, &buffer, colliding_index, " ");
|
||||
OS::PrintErr("%s\n", buffer.buffer());
|
||||
}
|
||||
if (!FLAG_enable_isolate_groups) {
|
||||
if (!IsolateGroup::AreIsolateGroupsEnabled()) {
|
||||
FATAL("Duplicate subtype test cache entry");
|
||||
}
|
||||
if (old_result.ptr() != result.ptr()) {
|
||||
@@ -1048,7 +1048,7 @@ DEFINE_RUNTIME_ENTRY(PatchStaticCall, 0) {
|
||||
const Code& target_code = Code::Handle(zone, target_function.EnsureHasCode());
|
||||
// Before patching verify that we are not repeatedly patching to the same
|
||||
// target.
|
||||
ASSERT(FLAG_enable_isolate_groups ||
|
||||
ASSERT(IsolateGroup::AreIsolateGroupsEnabled() ||
|
||||
target_code.ptr() != CodePatcher::GetStaticCallTargetAt(
|
||||
caller_frame->pc(), caller_code));
|
||||
if (target_code.ptr() !=
|
||||
|
||||
@@ -366,7 +366,7 @@ StringPtr Symbols::NewSymbol(Thread* thread, const StringType& str) {
|
||||
// TODO(https://dartbug.com/41943): Get rid of the symbol table accesses
|
||||
// within safepoint operation scope.
|
||||
RELEASE_ASSERT(group->safepoint_handler()->IsOwnedByTheThread(thread));
|
||||
RELEASE_ASSERT(FLAG_enable_isolate_groups || !USING_PRODUCT);
|
||||
RELEASE_ASSERT(IsolateGroup::AreIsolateGroupsEnabled() || !USING_PRODUCT);
|
||||
|
||||
// Uncommon case: We are at a safepoint, all mutators are stopped and we
|
||||
// have therefore exclusive access to the symbol table.
|
||||
@@ -395,7 +395,7 @@ StringPtr Symbols::NewSymbol(Thread* thread, const StringType& str) {
|
||||
};
|
||||
|
||||
SafepointWriteRwLocker sl(thread, group->symbols_lock());
|
||||
if (FLAG_enable_isolate_groups || !USING_PRODUCT) {
|
||||
if (IsolateGroup::AreIsolateGroupsEnabled() || !USING_PRODUCT) {
|
||||
// NOTE: Strictly speaking we should use a safepoint operation scope
|
||||
// here to ensure the lock-free usage inside safepoint operations (see
|
||||
// above) is safe. Though this would really kill the performance.
|
||||
@@ -440,7 +440,7 @@ StringPtr Symbols::Lookup(Thread* thread, const StringType& str) {
|
||||
// In DEBUG mode the snapshot writer also calls this method inside a
|
||||
// safepoint.
|
||||
#if !defined(DEBUG)
|
||||
RELEASE_ASSERT(FLAG_enable_isolate_groups || !USING_PRODUCT);
|
||||
RELEASE_ASSERT(IsolateGroup::AreIsolateGroupsEnabled() || !USING_PRODUCT);
|
||||
#endif
|
||||
data = object_store->symbol_table();
|
||||
CanonicalStringSet table(&key, &value, &data);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
//
|
||||
// Checks that the VM throws an appropriate exception when FFI objects are
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-testing-pragmas --enable-isolate-groups
|
||||
// VMOptions=--enable-testing-pragmas --enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--enable-testing-pragmas --no-enable-isolate-groups
|
||||
//
|
||||
// Dart test program for testing dart:ffi function pointers with callbacks.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
//
|
||||
// Checks that the VM throws an appropriate exception when FFI objects are
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-testing-pragmas --enable-isolate-groups
|
||||
// VMOptions=--enable-testing-pragmas --enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--enable-testing-pragmas --no-enable-isolate-groups
|
||||
//
|
||||
// Dart test program for testing dart:ffi function pointers with callbacks.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Regression test case for http://dartbug.com/23244
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
// VMOptions=--optimization_counter_threshold=100 --no-background_compilation
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Regression test case for http://dartbug.com/23244
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
// VMOptions=--optimization_counter_threshold=100 --no-background_compilation
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing that errors thrown from isolates are
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library CountTest;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing that isolates can communicate to isolates
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library deferred_in_isolate2_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Test that deferred libraries are supported from isolates other than the root
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library error_at_spawn;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library error_at_spawnuri;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library error_exit_at_spawn;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library error_exit_at_spawnuri;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library exit_at_spawn;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library exit_at_spawn;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library handle_error_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library handle_error_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library handle_error_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library illegal_msg_function_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library illegal_msg_mirror_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:async";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing isolate communication with
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library isolate_current_test;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library IsolateImportNegativeTest;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:isolate';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import 'dart:collection';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Tests that sets of enums can be set through ports.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Testing that Isolate.spawn copies the source code of the parent isolate,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:isolate";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:async";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
import "dart:async";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
library MandelIsolateTest;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing serialization of messages.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing serialization of messages.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// Dart test program for testing serialization of messages with static
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// https://github.com/dart-lang/sdk/issues/35778
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
// VMOptions=--enable-isolate-groups
|
||||
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
|
||||
// VMOptions=--no-enable-isolate-groups
|
||||
|
||||
// https://github.com/dart-lang/sdk/issues/35778
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user