diff options
author | Andreas Gampe <agampe@google.com> | 2015-06-25 04:12:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-25 04:12:07 +0000 |
commit | 2eb85431142f5f45f5f5b3dd67dad42bb1dc4a8a (patch) | |
tree | 69789ba2444d1552454cdba7256059cd92ee4c57 /runtime | |
parent | 71e46c1a2e1a8c2ef87b6137e8503dd12e18bb8d (diff) | |
parent | 844fb67a8b5638c4e195dbbe510dc1626824a16c (diff) | |
download | art-2eb85431142f5f45f5f5b3dd67dad42bb1dc4a8a.zip art-2eb85431142f5f45f5f5b3dd67dad42bb1dc4a8a.tar.gz art-2eb85431142f5f45f5f5b3dd67dad42bb1dc4a8a.tar.bz2 |
Merge "ART: Fix arm32 instrumentation exit stub" into mnc-dev
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/arch/arm/quick_entrypoints_arm.S | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/arch/arm/quick_entrypoints_arm.S b/runtime/arch/arm/quick_entrypoints_arm.S index 5ae291a..d02ab14 100644 --- a/runtime/arch/arm/quick_entrypoints_arm.S +++ b/runtime/arch/arm/quick_entrypoints_arm.S @@ -1052,9 +1052,12 @@ art_quick_instrumentation_exit: .cfi_adjust_cfa_offset 8 .cfi_rel_offset r0, 0 .cfi_rel_offset r1, 4 - sub sp, #8 @ space for return value argument + vpush {d0} @ save fp return value .cfi_adjust_cfa_offset 8 - strd r0, [sp] @ r0/r1 -> [sp] for fpr_res + sub sp, #8 @ space for return value argument. Note: AAPCS stack alignment is 8B, no + @ need to align by 16. + .cfi_adjust_cfa_offset 8 + vstr d0, [sp] @ d0 -> [sp] for fpr_res mov r2, r0 @ pass return value as gpr_res mov r3, r1 mov r0, r9 @ pass Thread::Current @@ -1065,6 +1068,8 @@ art_quick_instrumentation_exit: mov r2, r0 @ link register saved by instrumentation mov lr, r1 @ r1 is holding link register if we're to bounce to deoptimize + vpop {d0} @ restore fp return value + .cfi_adjust_cfa_offset -8 pop {r0, r1} @ restore return value .cfi_adjust_cfa_offset -8 .cfi_restore r0 |