summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/dex/mir_field_info.cc5
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);
}
}