JIT: fix executable flush range

Flushing in executable memory should exactly mirror range in
non-executable memory.

Test: Manual (see bug)
Bug: 132205399
Merged-In: I19d2e8e69eef07648803937fff928aa9b45ac5a2
Change-Id: I6a26e4aa236e190ce4117c0aa20f6067892d7f1c
diff --git a/runtime/jit/jit_code_cache.cc b/runtime/jit/jit_code_cache.cc
index 333f2da..a6aefc4 100644
--- a/runtime/jit/jit_code_cache.cc
+++ b/runtime/jit/jit_code_cache.cc
@@ -1060,8 +1060,8 @@
     }
 
     // Invalidate i-cache for the executable mapping.
-    uint8_t* x_memory = reinterpret_cast<uint8_t*>(method_header);
     if (cache_flush_success) {
+      uint8_t* x_memory = reinterpret_cast<uint8_t*>(FromCodeToAllocation(code_ptr));
       cache_flush_success = FlushCpuCaches(x_memory, x_memory + total_size);
     }