blob: 9f016483d652f7c3521ff0bf1babd9848b3120e5 [file] [log] [blame]
// Copyright (c) 2021, 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.
// VMOptions=--deterministic --optimization-counter-threshold=100 --deoptimize-on-runtime-call-name-filter=TypeCheck --deoptimize-on-runtime-call-every=1 --max-subtype-cache-entries=0
main() {
void nop() {}
for (int i = 0; i < 1000; ++i) {
if (assertAssignable(nop) != 1) {
throw 'broken';
}
}
}
@pragma('vm:never-inline')
int assertAssignable(dynamic a0) {
return ensureValidExpressionStack(1, a0 as void Function());
}
@pragma('vm:never-inline')
int ensureValidExpressionStack(int b, void Function() a) => b;