dart-sdk/tests/language/deferred/split_constants_canonicalization_test.dart
Vyacheslav Egorov 71c9c2cd83 [vm] Remove support for non-bare AOT snapshots
Every AOT user out there has been using bare instructions mode
and continuing to maintaining non-bare instructions mode simply
adds costs (both in terms of time spent making changes to work
in a mode that is not used and CI resources spent on testing it).

This change removes FLAG_use_bare_instructions and changes the code
to assume that FLAG_precompiled_mode implies bare instructions.

TEST=ci

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64c-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-dwarf-linux-product-x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,app-kernel-linux-release-x64-try,app-kernel-linux-debug-x64-try
Change-Id: I5032b13bfcb613f79865f2cfa139cca8d1b42556
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220964
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-11-24 13:03:52 +00:00

92 lines
2.9 KiB
Dart

// Copyright (c) 2020, 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 "package:expect/expect.dart";
import "split_constants_canonicalization_a.dart" deferred as a;
import "split_constants_canonicalization_b.dart" deferred as b;
class Box {
final contents;
const Box(this.contents);
}
enum Enum {
RED,
GREEN,
BLUE,
}
commonClosure() {}
main() async {
await a.loadLibrary();
await a.loadChildren();
await b.loadLibrary();
await b.loadChildren();
var a_1_mint = await a.a_1_mint();
var a_2_mint = await a.a_2_mint();
var b_1_mint = await b.b_1_mint();
var b_2_mint = await b.b_2_mint();
Expect.isTrue(identical(a_1_mint, a_2_mint));
Expect.isTrue(identical(a_1_mint, b_1_mint));
Expect.isTrue(identical(a_1_mint, b_2_mint));
var a_1_string = await a.a_1_string();
var a_2_string = await a.a_2_string();
var b_1_string = await b.b_1_string();
var b_2_string = await b.b_2_string();
Expect.isTrue(identical(a_1_string, a_2_string));
Expect.isTrue(identical(a_1_string, b_1_string));
Expect.isTrue(identical(a_1_string, b_2_string));
var a_1_list = await a.a_1_list();
var a_2_list = await a.a_2_list();
var b_1_list = await b.b_1_list();
var b_2_list = await b.b_2_list();
Expect.isTrue(identical(a_1_list, a_2_list));
Expect.isTrue(identical(a_1_list, b_1_list));
Expect.isTrue(identical(a_1_list, b_2_list));
var a_1_map = await a.a_1_map();
var a_2_map = await a.a_2_map();
var b_1_map = await b.b_1_map();
var b_2_map = await b.b_2_map();
Expect.isTrue(identical(a_1_map, a_2_map));
Expect.isTrue(identical(a_1_map, b_1_map));
Expect.isTrue(identical(a_1_map, b_2_map));
var a_1_box = await a.a_1_box();
var a_2_box = await a.a_2_box();
var b_1_box = await b.b_1_box();
var b_2_box = await b.b_2_box();
Expect.isTrue(identical(a_1_box, a_2_box));
Expect.isTrue(identical(a_1_box, b_1_box));
Expect.isTrue(identical(a_1_box, b_2_box));
var a_1_enum = await a.a_1_enum();
var a_2_enum = await a.a_2_enum();
var b_1_enum = await b.b_1_enum();
var b_2_enum = await b.b_2_enum();
Expect.isTrue(identical(a_1_enum, a_2_enum));
Expect.isTrue(identical(a_1_enum, b_1_enum));
Expect.isTrue(identical(a_1_enum, b_2_enum));
var a_1_type = await a.a_1_type();
var a_2_type = await a.a_2_type();
var b_1_type = await b.b_1_type();
var b_2_type = await b.b_2_type();
Expect.isTrue(identical(a_1_type, a_2_type));
Expect.isTrue(identical(a_1_type, b_1_type));
Expect.isTrue(identical(a_1_type, b_2_type));
var a_1_closure = await a.a_1_closure();
var a_2_closure = await a.a_2_closure();
var b_1_closure = await b.b_1_closure();
var b_2_closure = await b.b_2_closure();
Expect.isTrue(identical(a_1_closure, a_2_closure));
Expect.isTrue(identical(a_1_closure, b_1_closure));
Expect.isTrue(identical(a_1_closure, b_2_closure));
}