mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 00:19:48 +00:00
e418026d74
This CL changes the IL building for reachability fences to their call sites. This enables us to catch the field load and tell it to not emit an initialization check for late fields. The sentinel value will now flow into the ReachabilityFenceInstr, where it will be discarded. TEST=tests/language/vm/regress_49005_test.dart Closes: https://github.com/dart-lang/sdk/issues/49005 Change-Id: Ic21c9905290925eb83860d8394b13be7dd7592c1 Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm64c-try,vm-ffi-android-debug-arm-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244628 Reviewed-by: Liam Appelbe <liama@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>
14 lines
335 B
Dart
14 lines
335 B
Dart
// Copyright (c) 2022, 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.
|
|
|
|
import 'dart:ffi';
|
|
|
|
class Foo implements Finalizable {}
|
|
|
|
void main() {
|
|
late Foo foo;
|
|
foo = Foo();
|
|
print(foo);
|
|
}
|