[vm/testing] Make vm/dart/gc/scavenger_abort_2_test more robust
The test tries to keep fields alive by my making a toString() => field1 + field2 + ... Though some field values don't have a `+` operator (e.g. instances of `class C`). Improving TFA precision can infer that some of these `+` operations will throw, which then makes other `+` operations unreachable, which removes usages of those other fields, which will tree shake those other fields, which will make the test not test anymore what it's intended to. => Make the test more robust by using string concatenation instead. Change-Id: I80788af516083ea3d78ad910eb394e4b7e122384 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507000 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
This commit is contained in:
committed by
dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
5423762c21
commit
2198d25b1e
@@ -26,19 +26,8 @@ class A {
|
||||
|
||||
// Prevent fields from being optimized away as write-only.
|
||||
String toString() {
|
||||
return field1 +
|
||||
field2 +
|
||||
field3 +
|
||||
field4 +
|
||||
field5 +
|
||||
field6 +
|
||||
field7 +
|
||||
field8 +
|
||||
field9 +
|
||||
field10 +
|
||||
field11 +
|
||||
field12 +
|
||||
field13;
|
||||
return '$field1$field2$field3$field4$field5$field6$field7'
|
||||
'$field8$field9$field10$field11$field12$field13';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,23 +53,9 @@ class B {
|
||||
|
||||
// Prevent fields from being optimized away as write-only.
|
||||
String toString() {
|
||||
return field1 +
|
||||
field2 +
|
||||
field3 +
|
||||
field4 +
|
||||
field5 +
|
||||
field6 +
|
||||
field7 +
|
||||
field8 +
|
||||
field9 +
|
||||
field10 +
|
||||
field11 +
|
||||
field12 +
|
||||
field13 +
|
||||
field14 +
|
||||
field15 +
|
||||
field16 +
|
||||
field17;
|
||||
return '$field1$field2$field3$field4$field5$field6$field7'
|
||||
'$field8$field9$field10$field11$field12$field13$field14'
|
||||
'$field15$field16$field17';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,25 +83,9 @@ class C {
|
||||
|
||||
// Prevent fields from being optimized away as write-only.
|
||||
String toString() {
|
||||
return field1 +
|
||||
field2 +
|
||||
field3 +
|
||||
field4 +
|
||||
field5 +
|
||||
field6 +
|
||||
field7 +
|
||||
field8 +
|
||||
field9 +
|
||||
field10 +
|
||||
field11 +
|
||||
field12 +
|
||||
field13 +
|
||||
field14 +
|
||||
field15 +
|
||||
field16 +
|
||||
field17 +
|
||||
field18 +
|
||||
field19;
|
||||
return '$field1$field2$field3$field4$field5$field6$field7'
|
||||
'$field8$field9$field10$field11$field12$field13$field14'
|
||||
'$field15$field16$field17$field18$field19';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,37 +125,10 @@ class Old {
|
||||
|
||||
// Prevent fields from being optimized away as write-only.
|
||||
String toString() {
|
||||
return new1 +
|
||||
new2 +
|
||||
new3 +
|
||||
new4 +
|
||||
new5 +
|
||||
new6 +
|
||||
new7 +
|
||||
new8 +
|
||||
new9 +
|
||||
new10 +
|
||||
new11 +
|
||||
new12 +
|
||||
new13 +
|
||||
new14 +
|
||||
new15 +
|
||||
new16 +
|
||||
new17 +
|
||||
new18 +
|
||||
new19 +
|
||||
new20 +
|
||||
new21 +
|
||||
new22 +
|
||||
new23 +
|
||||
new24 +
|
||||
new25 +
|
||||
new26 +
|
||||
new27 +
|
||||
new28 +
|
||||
new29 +
|
||||
new30 +
|
||||
new31;
|
||||
return '$new1$new2$new3$new4$new5$new6$new7$new8$new9$new10'
|
||||
'$new11$new12$new13$new14$new15$new16$new17$new18$new19$new20'
|
||||
'$new21$new22$new23$new24$new25$new26$new27$new28$new29$new30'
|
||||
'$new31';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user