ARM64: Support interm. address for object arrays.

Support IntermediateAddress on arm64 for object
array reads in Baker read barrier configuration.

The patch brings minor boot.oat size reduction and
performance improvement on Puzzle benchmark.

Test: test-art-target, test-art-host, gc_stress.
Test: 527-checker-array-access-split.

Bug: 26601270
Bug: 32578862

Change-Id: I781a911905038b36428964a990771fdf74e99bbd
diff --git a/compiler/optimizing/code_generator_arm64.h b/compiler/optimizing/code_generator_arm64.h
index 1ba58b1..ada5742 100644
--- a/compiler/optimizing/code_generator_arm64.h
+++ b/compiler/optimizing/code_generator_arm64.h
@@ -694,11 +694,11 @@
                                              bool use_load_acquire);
   // Fast path implementation of ReadBarrier::Barrier for a heap
   // reference array load when Baker's read barriers are used.
-  void GenerateArrayLoadWithBakerReadBarrier(Location ref,
+  void GenerateArrayLoadWithBakerReadBarrier(HArrayGet* instruction,
+                                             Location ref,
                                              vixl::aarch64::Register obj,
                                              uint32_t data_offset,
                                              Location index,
-                                             vixl::aarch64::Register temp,
                                              bool needs_null_check);
 
   // Emit code checking the status of the Marking Register, and