| Index: runtime/vm/raw_object.h
|
| diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
|
| index 89e9999932e16f5cafba6eee93568e9558653968..db8bce33a71002e72537166ab71a9977d2f25938 100644
|
| --- a/runtime/vm/raw_object.h
|
| +++ b/runtime/vm/raw_object.h
|
| @@ -427,11 +427,11 @@ class RawObject {
|
| intptr_t result = SizeTag::decode(tags);
|
| if (result != 0) {
|
| #if defined(DEBUG)
|
| - // 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.
|
| + // 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.
|
| const intptr_t size_from_class = SizeFromClass();
|
| if ((result > size_from_class) && (GetClassId() == kArrayCid) &&
|
| (ptr()->tags_ != tags)) {
|
|
|