Save floating point registers in art_quick_osr_stub

We need to save callee save floating-point registers on ARM/ARM64.
No x86/x86-64 floating point registers are callee save.

Bug: 130313339
Test: test.py -r --target -t 570-checker-osr
Change-Id: I53dfd60edb136bd305389e3b4bd51b636875d429
diff --git a/runtime/arch/arm64/quick_entrypoints_arm64.S b/runtime/arch/arm64/quick_entrypoints_arm64.S
index 5945c45..8b15238 100644
--- a/runtime/arch/arm64/quick_entrypoints_arm64.S
+++ b/runtime/arch/arm64/quick_entrypoints_arm64.S
@@ -990,7 +990,7 @@
  *                                    Thread *self)                x5
  */
 ENTRY art_quick_osr_stub
-SAVE_SIZE=14*8   // x3, x4, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, FP, LR saved.
+    SAVE_SIZE=22*8
     SAVE_TWO_REGS_INCREASE_FRAME x3, x4, SAVE_SIZE
     SAVE_TWO_REGS x19, x20, 16
     SAVE_TWO_REGS x21, x22, 32
@@ -998,6 +998,10 @@
     SAVE_TWO_REGS x25, x26, 64
     SAVE_TWO_REGS x27, x28, 80
     SAVE_TWO_REGS xFP, xLR, 96
+    stp d8, d9,   [sp, #112]
+    stp d10, d11, [sp, #128]
+    stp d12, d13, [sp, #144]
+    stp d14, d15, [sp, #160]
 
     mov xSELF, x5                         // Move thread pointer into SELF register.
     REFRESH_MARKING_REGISTER
@@ -1010,6 +1014,10 @@
     DECREASE_FRAME 16
 
     // Restore saved registers including value address and shorty address.
+    ldp d8, d9,   [sp, #112]
+    ldp d10, d11, [sp, #128]
+    ldp d12, d13, [sp, #144]
+    ldp d14, d15, [sp, #160]
     RESTORE_TWO_REGS x19, x20, 16
     RESTORE_TWO_REGS x21, x22, 32
     RESTORE_TWO_REGS x23, x24, 48