diff options
Diffstat (limited to 'runtime/class_linker.cc')
| -rw-r--r-- | runtime/class_linker.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index f554c61e36..ee66b49e7d 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -157,8 +157,8 @@ struct FieldGapsComparator { } bool operator() (const FieldGap& lhs, const FieldGap& rhs) NO_THREAD_SAFETY_ANALYSIS { - // Sort by gap size, largest first. - return lhs.size > rhs.size; + // Sort by gap size, largest first. Secondary sort by starting offset. + return lhs.size > rhs.size || (lhs.size == rhs.size && lhs.start_offset < rhs.start_offset); } }; typedef std::priority_queue<FieldGap, std::vector<FieldGap>, FieldGapsComparator> FieldGaps; |