am 8a0a5274
: Add stack unwinding directives to atomic-android-arm.S.
Merge commit '8a0a5274ff37cbf3acad0199735a05e5fe3b5c9d' into eclair-mr2-plus-aosp * commit '8a0a5274ff37cbf3acad0199735a05e5fe3b5c9d': Add stack unwinding directives to atomic-android-arm.S.
This commit is contained in:
commit
22f9d88094
1 changed files with 18 additions and 0 deletions
|
@ -65,6 +65,8 @@ android_atomic_write:
|
|||
*/
|
||||
|
||||
android_atomic_inc:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r0
|
||||
1: @ android_atomic_inc
|
||||
|
@ -84,6 +86,7 @@ android_atomic_inc:
|
|||
sub r0, r1, #1
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -93,6 +96,8 @@ android_atomic_inc:
|
|||
*/
|
||||
|
||||
android_atomic_dec:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r0
|
||||
1: @ android_atomic_dec
|
||||
|
@ -112,6 +117,7 @@ android_atomic_dec:
|
|||
add r0, r1, #1
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -121,6 +127,8 @@ android_atomic_dec:
|
|||
*/
|
||||
|
||||
android_atomic_add:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r2, r1
|
||||
mov r4, r0
|
||||
|
@ -141,6 +149,7 @@ android_atomic_add:
|
|||
sub r0, r1, r4
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
|
||||
/*
|
||||
|
@ -151,6 +160,8 @@ android_atomic_add:
|
|||
*/
|
||||
|
||||
android_atomic_and:
|
||||
.fnstart
|
||||
.save {r4, r5, lr}
|
||||
stmdb sp!, {r4, r5, lr}
|
||||
mov r2, r1 /* r2 = address */
|
||||
mov r4, r0 /* r4 = the value */
|
||||
|
@ -173,6 +184,7 @@ android_atomic_and:
|
|||
mov r0, r5
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -182,6 +194,8 @@ android_atomic_and:
|
|||
*/
|
||||
|
||||
android_atomic_or:
|
||||
.fnstart
|
||||
.save {r4, r5, lr}
|
||||
stmdb sp!, {r4, r5, lr}
|
||||
mov r2, r1 /* r2 = address */
|
||||
mov r4, r0 /* r4 = the value */
|
||||
|
@ -204,6 +218,7 @@ android_atomic_or:
|
|||
mov r0, r5
|
||||
ldmia sp!, {r4, r5, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
@ -234,6 +249,8 @@ android_atomic_swap:
|
|||
*/
|
||||
|
||||
android_atomic_cmpxchg:
|
||||
.fnstart
|
||||
.save {r4, lr}
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0 /* r4 = save oldvalue */
|
||||
1: @ android_atomic_cmpxchg
|
||||
|
@ -255,6 +272,7 @@ android_atomic_cmpxchg:
|
|||
2: @ android_atomic_cmpxchg
|
||||
ldmia sp!, {r4, lr}
|
||||
bx lr
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in a new issue