ART: Relayout ProfilingInfo

Order the fields by size to save 8B (32B to 24B) for 64-bit libart.

Bug: 79365543
Test: m test-art-host
Change-Id: Ia452524caf31b0fd42c44e666fc95d07fef444b3
diff --git a/runtime/jit/profiling_info.cc b/runtime/jit/profiling_info.cc
index 9126bea..2cb569c 100644
--- a/runtime/jit/profiling_info.cc
+++ b/runtime/jit/profiling_info.cc
@@ -26,12 +26,12 @@
 namespace art {
 
 ProfilingInfo::ProfilingInfo(ArtMethod* method, const std::vector<uint32_t>& entries)
-      : number_of_inline_caches_(entries.size()),
-        method_(method),
-        is_method_being_compiled_(false),
-        is_osr_method_being_compiled_(false),
+      : method_(method),
+        saved_entry_point_(nullptr),
+        number_of_inline_caches_(entries.size()),
         current_inline_uses_(0),
-        saved_entry_point_(nullptr) {
+        is_method_being_compiled_(false),
+        is_osr_method_being_compiled_(false) {
   memset(&cache_, 0, number_of_inline_caches_ * sizeof(InlineCache));
   for (size_t i = 0; i < number_of_inline_caches_; ++i) {
     cache_[i].dex_pc_ = entries[i];
diff --git a/runtime/jit/profiling_info.h b/runtime/jit/profiling_info.h
index 788fa1f..a3dae83 100644
--- a/runtime/jit/profiling_info.h
+++ b/runtime/jit/profiling_info.h
@@ -132,28 +132,28 @@
  private:
   ProfilingInfo(ArtMethod* method, const std::vector<uint32_t>& entries);
 
-  // Number of instructions we are profiling in the ArtMethod.
-  const uint32_t number_of_inline_caches_;
-
   // Method this profiling info is for.
   // Not 'const' as JVMTI introduces obsolete methods that we implement by creating new ArtMethods.
   // See JitCodeCache::MoveObsoleteMethod.
   ArtMethod* method_;
 
+  // Entry point of the corresponding ArtMethod, while the JIT code cache
+  // is poking for the liveness of compiled code.
+  const void* saved_entry_point_;
+
+  // Number of instructions we are profiling in the ArtMethod.
+  const uint32_t number_of_inline_caches_;
+
+  // When the compiler inlines the method associated to this ProfilingInfo,
+  // it updates this counter so that the GC does not try to clear the inline caches.
+  uint16_t current_inline_uses_;
+
   // Whether the ArtMethod is currently being compiled. This flag
   // is implicitly guarded by the JIT code cache lock.
   // TODO: Make the JIT code cache lock global.
   bool is_method_being_compiled_;
   bool is_osr_method_being_compiled_;
 
-  // When the compiler inlines the method associated to this ProfilingInfo,
-  // it updates this counter so that the GC does not try to clear the inline caches.
-  uint16_t current_inline_uses_;
-
-  // Entry point of the corresponding ArtMethod, while the JIT code cache
-  // is poking for the liveness of compiled code.
-  const void* saved_entry_point_;
-
   // Dynamically allocated array of size `number_of_inline_caches_`.
   InlineCache cache_[0];