mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 14:49:43 +00:00
[vm] Fix false-positive in const field removal detection.
TEST=ci Bug: https://github.com/dart-lang/sdk/issues/51526 Change-Id: I86dfa625a218dd58c2c009081230ca0d0729e807 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286959 Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
parent
219521d9cd
commit
c023db4dd0
|
@ -695,17 +695,18 @@ void Class::CheckReload(const Class& replacement,
|
|||
for (intptr_t i = 0, n = old_fields.Length(); i < n; i++) {
|
||||
old_field ^= old_fields.At(i);
|
||||
new_field ^= new_fields.At(i);
|
||||
if (old_field.IsNull() != new_field.IsNull()) {
|
||||
if (old_field.IsNull()) {
|
||||
continue;
|
||||
}
|
||||
if (new_field.IsNull()) {
|
||||
field_removed = true;
|
||||
break;
|
||||
}
|
||||
if (!old_field.IsNull()) {
|
||||
old_name = old_field.name();
|
||||
new_name = new_field.name();
|
||||
if (!old_name.Equals(new_name)) {
|
||||
field_removed = true;
|
||||
break;
|
||||
}
|
||||
old_name = old_field.name();
|
||||
new_name = new_field.name();
|
||||
if (!old_name.Equals(new_name)) {
|
||||
field_removed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue