| Index: runtime/vm/raw_object.h
|
| diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
|
| index 36c61afd66dfdac2f1fb964679f44b89489c5a56..435988f7ed30097c09d74d813fce1361b686ce07 100644
|
| --- a/runtime/vm/raw_object.h
|
| +++ b/runtime/vm/raw_object.h
|
| @@ -432,11 +432,11 @@ class RawObject {
|
| intptr_t result = SizeTag::decode(tags);
|
| if (result != 0) {
|
| #if defined(DEBUG)
|
| - // TODO(22501) Array::MakeFixedLength has a race with this code: we might
|
| - // have loaded tags field and then MakeFixedLength could have updated it
|
| - // leading to inconsistency between SizeFromClass() and
|
| - // SizeTag::decode(tags). We are working around it by reloading tags_ and
|
| - // recomputing size from tags.
|
| + // TODO(22501) Array::MakeArray has a race with this code: we might have
|
| + // loaded tags field and then MakeArray could have updated it leading
|
| + // to inconsistency between SizeFromClass() and SizeTag::decode(tags).
|
| + // We are working around it by reloading tags_ and recomputing
|
| + // size from tags.
|
| const intptr_t size_from_class = SizeFromClass();
|
| if ((result > size_from_class) && (GetClassId() == kArrayCid) &&
|
| (ptr()->tags_ != tags)) {
|
|
|