Simplify control flow in ICData::FindFreeIndex.
Change-Id: Icb8111b7d4f202ce72c47fad4e0b3c769c41bc45
Reviewed-on: https://dart-review.googlesource.com/c/85763
Auto-Submit: Stevie Strickland <sstrickl@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 2e4e1e7..8056ab2 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -13789,19 +13789,14 @@
// when searching.
const intptr_t len = Length() - 1;
Array& data = Array::Handle(ic_data());
- *index = len;
for (intptr_t i = 0; i < len; i++) {
if (IsSentinelAt(i)) {
*index = i;
- break;
+ return data.raw();
}
}
- if (*index < len) {
- // We've found a free slot.
- return data.raw();
- }
// Append case.
- ASSERT(*index == len);
+ *index = len;
ASSERT(*index >= 0);
// Grow array.
const intptr_t new_len = data.Length() + TestEntryLength();