diff options
| -rw-r--r-- | compiler/dex/mir_field_info.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/dex/mir_field_info.cc b/compiler/dex/mir_field_info.cc index 3c7613096b..96eda01d1e 100644 --- a/compiler/dex/mir_field_info.cc +++ b/compiler/dex/mir_field_info.cc @@ -79,7 +79,10 @@ void MirSFieldLoweringInfo::Resolve(CompilerDriver* compiler_driver, DCHECK_NE(count, 0u); for (auto it = field_infos, end = field_infos + count; it != end; ++it) { MirSFieldLoweringInfo unresolved(it->field_idx_); - DCHECK_EQ(memcmp(&unresolved, &*it, sizeof(*it)), 0); + // In 64-bit builds, there's padding after storage_index_, don't include it in memcmp. + size_t size = OFFSETOF_MEMBER(MirSFieldLoweringInfo, storage_index_) + + sizeof(it->storage_index_); + DCHECK_EQ(memcmp(&unresolved, &*it, size), 0); } } |