Block callee save fp registers in debuggable.

This is a simple but conservative implementation. We could
extend it by using the registers but still saving them before
a call and at method entry.

bug: 21057237

Change-Id: Ia2e9e0e2efae0b01625e0f4165d0535c4bf9ba62
diff --git a/compiler/optimizing/code_generator_arm64.cc b/compiler/optimizing/code_generator_arm64.cc
index 39d6db7..c7ade65 100644
--- a/compiler/optimizing/code_generator_arm64.cc
+++ b/compiler/optimizing/code_generator_arm64.cc
@@ -864,7 +864,12 @@
     while (!reserved_core_baseline_registers.IsEmpty()) {
       blocked_core_registers_[reserved_core_baseline_registers.PopLowestIndex().code()] = true;
     }
+  }
 
+  if (is_baseline || GetGraph()->IsDebuggable()) {
+    // Stubs do not save callee-save floating point registers. If the graph
+    // is debuggable, we need to deal with these registers differently. For
+    // now, just block them.
     CPURegList reserved_fp_baseline_registers = callee_saved_fp_registers;
     while (!reserved_fp_baseline_registers.IsEmpty()) {
       blocked_fpu_registers_[reserved_fp_baseline_registers.PopLowestIndex().code()] = true;