blob: 23c26ebb338b9c7b14999f55229238f1422ee1c0 [file] [log] [blame]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// 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.
// @dart = 2.9
// VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
// VMOptions=--no-enable-isolate-groups
library regress;
import 'dart:isolate';
abstract class N<T> {}
class J extends N<String> {
final String s;
J(this.s);
}
class K extends N<int> {
final int i;
K(this.i);
}
void isolate(Object portObj) {
SendPort port = portObj;
port.send(new J("8" * 4));
for (int i = 0; i < 80000; i++) {
port.send(new K(i));
}
port.send('done');
}
main() async {
var recv = new RawReceivePort();
recv.handler = (k) {
if (k is J) print(k.s.length);
if (k is String) {
print(k);
recv.close();
}
};
var iso = await Isolate.spawn(isolate, recv.sendPort);
}