Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index 2f062f1b8d64168bf484fd9b0265b64cc43a8d52..0506fa71f79522b0c228df80dd2d29b6e506a034 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -15325,6 +15325,12 @@ bool Instance::CheckIsCanonical(Thread* thread) const { |
const Class& cls = Class::Handle(zone, this->clazz()); |
SafepointMutexLocker ml(isolate->constant_canonicalization_mutex()); |
result ^= cls.LookupCanonicalInstance(zone, *this); |
+ // TODO(johnmccutchan) : Temporary workaround for issue (26988). |
+ if ((result.raw() != raw()) && |
+ isolate->HasAttemptedReload() && |
+ (GetClassId() == kImmutableArrayCid)) { |
+ return true; |
+ } |
return (result.raw() == this->raw()); |
} |
#endif // DEBUG |