Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 935e875f5105bf28dd371baa224c89823db689b4..227f583a3d4752206e5be2c195089ab14a6a38fb 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -11645,11 +11645,9 @@ Handle<DependentCode> DependentCode::Insert(Handle<DependentCode> entries, |
int start = starts.at(group); |
int end = starts.at(group + 1); |
int number_of_entries = starts.number_of_entries(); |
- if (start < end && entries->object_at(end - 1) == *object) { |
- // Do not append the compilation info if it is already in the array. |
- // It is sufficient to just check only the last element because |
- // we process embedded maps of an optimized code in one batch. |
- return entries; |
+ // Check for existing entry to avoid duplicates. |
+ for (int i = start; i < end; i++) { |
+ if (entries->object_at(i) == *object) return entries; |
} |
if (entries->length() < kCodesStartIndex + number_of_entries + 1) { |
Factory* factory = entries->GetIsolate()->factory(); |