diff --git a/src/oat.cc b/src/oat.cc
index 191f26f..8bf8299 100644
--- a/src/oat.cc
+++ b/src/oat.cc
@@ -65,4 +65,33 @@
   UpdateChecksum(&executable_offset_, sizeof(executable_offset));
 }
 
+OatMethodOffsets::OatMethodOffsets()
+ : code_offset_(0),
+   frame_size_in_bytes_(0),
+   return_pc_offset_in_bytes_(0),
+   core_spill_mask_(0),
+   fp_spill_mask_(0),
+   mapping_table_offset_(0),
+   vmap_table_offset_(0),
+   invoke_stub_offset_(0) {}
+
+OatMethodOffsets::OatMethodOffsets(uint32_t code_offset,
+                                   uint32_t frame_size_in_bytes,
+                                   uint32_t return_pc_offset_in_bytes,
+                                   uint32_t core_spill_mask,
+                                   uint32_t fp_spill_mask,
+                                   uint32_t mapping_table_offset,
+                                   uint32_t vmap_table_offset,
+                                   uint32_t invoke_stub_offset)
+ : code_offset_(code_offset),
+   frame_size_in_bytes_(frame_size_in_bytes),
+   return_pc_offset_in_bytes_(return_pc_offset_in_bytes),
+   core_spill_mask_(core_spill_mask),
+   fp_spill_mask_(fp_spill_mask),
+   mapping_table_offset_(mapping_table_offset),
+   vmap_table_offset_(vmap_table_offset),
+   invoke_stub_offset_(invoke_stub_offset) {}
+
+OatMethodOffsets::~OatMethodOffsets() {}
+
 }  // namespace art
