diff --git a/compiler/optimizing/stack_map_stream.h b/compiler/optimizing/stack_map_stream.h
index 79bebd2..76ddbf3 100644
--- a/compiler/optimizing/stack_map_stream.h
+++ b/compiler/optimizing/stack_map_stream.h
@@ -129,7 +129,8 @@
       DexRegisterLocation entry = dex_register_maps_.Get(i);
       size += DexRegisterMap::EntrySize(entry);
     }
-    return size;
+    // On ARM, the Dex register maps must be 4-byte aligned.
+    return RoundUp(size, kWordAlignment);
   }
 
   // Compute the size of all the inline information pieces.
@@ -139,12 +140,12 @@
       + (number_of_stack_maps_with_inline_info_ * InlineInfo::kFixedSize);
   }
 
-  size_t ComputeDexRegisterMapStart() const {
+  size_t ComputeDexRegisterMapsStart() const {
     return CodeInfo::kFixedSize + ComputeStackMapSize();
   }
 
   size_t ComputeInlineInfoStart() const {
-    return ComputeDexRegisterMapStart() + ComputeDexRegisterMapsSize();
+    return ComputeDexRegisterMapsStart() + ComputeDexRegisterMapsSize();
   }
 
   void FillIn(MemoryRegion region) {
@@ -155,7 +156,7 @@
     uint8_t* memory_start = region.start();
 
     MemoryRegion dex_register_maps_region = region.Subregion(
-      ComputeDexRegisterMapStart(),
+      ComputeDexRegisterMapsStart(),
       ComputeDexRegisterMapsSize());
 
     MemoryRegion inline_infos_region = region.Subregion(
