OSDN Git Service
(root)
/
android-x86
/
art.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0a1143d
)
When performing a long jump, update SP last.
author
Jeff Hao
<jeffhao@google.com>
Wed, 6 Aug 2014 01:59:16 +0000
(18:59 -0700)
committer
Jeff Hao
<jeffhao@google.com>
Wed, 6 Aug 2014 16:00:27 +0000
(09:00 -0700)
Bug:
16571371
(cherry picked from commit
76a0723959c2185ace249e705774af9a679a0e0d
)
Change-Id: Ib3a7bcda8aecdf7e92ea40a76de32aed83a42ee0
runtime/arch/arm/quick_entrypoints_arm.S
patch
|
blob
|
history
diff --git
a/runtime/arch/arm/quick_entrypoints_arm.S
b/runtime/arch/arm/quick_entrypoints_arm.S
index
4939610
..
86cb16a
100644
(file)
--- a/
runtime/arch/arm/quick_entrypoints_arm.S
+++ b/
runtime/arch/arm/quick_entrypoints_arm.S
@@
-365,8
+365,9
@@
END art_quick_invoke_stub
ARM_ENTRY art_quick_do_long_jump
vldm r1, {s0-s31} @ load all fprs from argument fprs_
ldr r2, [r0, #60] @ r2 = r15 (PC from gprs_ 60=4*15)
+ ldr r14, [r0, #56] @ (LR from gprs_ 56=4*14)
add r0, r0, #12 @ increment r0 to skip gprs_[0..2] 12=4*3
- ldm r0, {r3-r1
4
} @ load remaining gprs from argument gprs_
+ ldm r0, {r3-r1
3
} @ load remaining gprs from argument gprs_
mov r0, #0 @ clear result registers r0 and r1
mov r1, #0
bx r2 @ do long jump