Add GC map to oat file

Change-Id: Ied0462c711a09e2542f231c3b2fa31239958bd28
diff --git a/src/compiled_method.h b/src/compiled_method.h
index 4b5a78b..4528e52 100644
--- a/src/compiled_method.h
+++ b/src/compiled_method.h
@@ -14,16 +14,19 @@
  public:
   // Create a CompiledMethod from the oatCompileMethod
   CompiledMethod(InstructionSet instruction_set,
-                 std::vector<short>& code,
+                 const std::vector<uint16_t>& code,
                  const size_t frame_size_in_bytes,
                  const uint32_t core_spill_mask,
                  const uint32_t fp_spill_mask,
-                 std::vector<uint32_t>& mapping_table,
-                 std::vector<uint16_t>& vmap_table);
+                 const std::vector<uint32_t>& mapping_table,
+                 const std::vector<uint16_t>& vmap_table);
+
+  // Add a GC map to a CompiledMethod created by oatCompileMethod
+  void SetGcMap(const std::vector<uint8_t>& gc_map);
 
   // Create a CompiledMethod from the JniCompiler
   CompiledMethod(InstructionSet instruction_set,
-                 std::vector<uint8_t>& code,
+                 const std::vector<uint8_t>& code,
                  const size_t frame_size_in_bytes,
                  const uint32_t core_spill_mask,
                  const uint32_t fp_spill_mask);
@@ -37,6 +40,8 @@
   uint32_t GetFpSpillMask() const;
   const std::vector<uint32_t>& GetMappingTable() const;
   const std::vector<uint16_t>& GetVmapTable() const;
+  const std::vector<uint8_t>& GetGcMap() const;
+
   // Aligns an offset from a page aligned value to make it suitable
   // for code storage. important to ensure that PC relative value
   // computations work out as expected on ARM.
@@ -61,6 +66,7 @@
   const uint32_t fp_spill_mask_;
   std::vector<uint32_t> mapping_table_;
   std::vector<uint16_t> vmap_table_;
+  std::vector<uint8_t> gc_map_;
 };
 
 class CompiledInvokeStub {