Add code size to CodeInfo.

This is in preparation of removing it from OatQuickMethodHeader.

Bug: 123510633
Test: m test-art-host-gtest
Test: ./art/test.py -b -r --host
Change-Id: I5c5adb4c040e329b81c1393aa1b80ee017729c8a
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index 0d289b8..e8e57aa 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -299,6 +299,7 @@
   static QuickMethodFrameInfo DecodeFrameInfo(const uint8_t* data);
   static CodeInfo DecodeGcMasksOnly(const OatQuickMethodHeader* header);
   static CodeInfo DecodeInlineInfoOnly(const OatQuickMethodHeader* header);
+  static uint32_t DecodeCodeSize(const OatQuickMethodHeader* header);
 
   ALWAYS_INLINE const BitTable<StackMap>& GetStackMaps() const {
     return stack_maps_;
@@ -447,6 +448,7 @@
   ALWAYS_INLINE static void ForEachHeaderField(Callback callback) {
     size_t index = 0;
     callback(index++, &CodeInfo::flags_);
+    callback(index++, &CodeInfo::code_size_);
     callback(index++, &CodeInfo::packed_frame_size_);
     callback(index++, &CodeInfo::core_spill_mask_);
     callback(index++, &CodeInfo::fp_spill_mask_);
@@ -480,8 +482,9 @@
   };
 
   // The CodeInfo starts with sequence of variable-length bit-encoded integers.
-  static constexpr size_t kNumHeaders = 6;
-  uint32_t flags_ = 0;
+  static constexpr size_t kNumHeaders = 7;
+  uint32_t flags_ = 0;      // Note that the space is limited to three bits.
+  uint32_t code_size_ = 0;  // The size of native PC range in bytes.
   uint32_t packed_frame_size_ = 0;  // Frame size in kStackAlignment units.
   uint32_t core_spill_mask_ = 0;
   uint32_t fp_spill_mask_ = 0;