mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Revert "[Runtime] Don't use write back in EIC retain/release"
This commit is contained in:
@@ -192,8 +192,7 @@ Lslowpath_release:
|
|||||||
// Save/restore the preservemost registers and call swift_retain.
|
// Save/restore the preservemost registers and call swift_retain.
|
||||||
Lcall_swift_release:
|
Lcall_swift_release:
|
||||||
maybe_pacibsp
|
maybe_pacibsp
|
||||||
sub sp, sp, #0x50
|
str x9, [sp, #-0x50]!
|
||||||
str x9, [sp]
|
|
||||||
stp x10, x11, [sp, #0x10]
|
stp x10, x11, [sp, #0x10]
|
||||||
stp x12, x13, [sp, #0x20]
|
stp x12, x13, [sp, #0x20]
|
||||||
stp x14, x15, [sp, #0x30]
|
stp x14, x15, [sp, #0x30]
|
||||||
@@ -208,14 +207,12 @@ Lcall_swift_release:
|
|||||||
ldp x14, x15, [sp, #0x30]
|
ldp x14, x15, [sp, #0x30]
|
||||||
ldp x12, x13, [sp, #0x20]
|
ldp x12, x13, [sp, #0x20]
|
||||||
ldp x10, x11, [sp, #0x10]
|
ldp x10, x11, [sp, #0x10]
|
||||||
ldr x9, [sp]
|
ldr x9, [sp], #0x50
|
||||||
add sp, sp, #0x50
|
|
||||||
ret_maybe_ab
|
ret_maybe_ab
|
||||||
|
|
||||||
LbridgeObjectReleaseDirectObjC:
|
LbridgeObjectReleaseDirectObjC:
|
||||||
maybe_pacibsp
|
maybe_pacibsp
|
||||||
sub sp, sp, #0x50
|
stp x0, x9, [sp, #-0x50]!
|
||||||
stp x0, x9, [sp]
|
|
||||||
stp x10, x11, [sp, #0x10]
|
stp x10, x11, [sp, #0x10]
|
||||||
stp x12, x13, [sp, #0x20]
|
stp x12, x13, [sp, #0x20]
|
||||||
stp x14, x15, [sp, #0x30]
|
stp x14, x15, [sp, #0x30]
|
||||||
@@ -230,8 +227,7 @@ LbridgeObjectReleaseDirectObjC:
|
|||||||
ldp x14, x15, [sp, #0x30]
|
ldp x14, x15, [sp, #0x30]
|
||||||
ldp x12, x13, [sp, #0x20]
|
ldp x12, x13, [sp, #0x20]
|
||||||
ldp x10, x11, [sp, #0x10]
|
ldp x10, x11, [sp, #0x10]
|
||||||
ldp x0, x9, [sp]
|
ldp x0, x9, [sp], #0x50
|
||||||
add sp, sp, #0x50
|
|
||||||
LbridgeObjectReleaseObjCRet:
|
LbridgeObjectReleaseObjCRet:
|
||||||
ret_maybe_ab
|
ret_maybe_ab
|
||||||
|
|
||||||
@@ -334,8 +330,7 @@ Lslowpath_retain:
|
|||||||
// Save/restore the preservemost registers and call swift_retain.
|
// Save/restore the preservemost registers and call swift_retain.
|
||||||
Lcall_swift_retain:
|
Lcall_swift_retain:
|
||||||
maybe_pacibsp
|
maybe_pacibsp
|
||||||
sub sp, sp, #0x50
|
stp x0, x9, [sp, #-0x50]!
|
||||||
stp x0, x9, [sp]
|
|
||||||
stp x10, x11, [sp, #0x10]
|
stp x10, x11, [sp, #0x10]
|
||||||
stp x12, x13, [sp, #0x20]
|
stp x12, x13, [sp, #0x20]
|
||||||
stp x14, x15, [sp, #0x30]
|
stp x14, x15, [sp, #0x30]
|
||||||
@@ -350,14 +345,12 @@ Lcall_swift_retain:
|
|||||||
ldp x14, x15, [sp, #0x30]
|
ldp x14, x15, [sp, #0x30]
|
||||||
ldp x12, x13, [sp, #0x20]
|
ldp x12, x13, [sp, #0x20]
|
||||||
ldp x10, x11, [sp, #0x10]
|
ldp x10, x11, [sp, #0x10]
|
||||||
ldp x0, x9, [sp]
|
ldp x0, x9, [sp], #0x50
|
||||||
add sp, sp, #0x50
|
|
||||||
ret_maybe_ab
|
ret_maybe_ab
|
||||||
|
|
||||||
Lswift_bridgeObjectRetainDirectObjC:
|
Lswift_bridgeObjectRetainDirectObjC:
|
||||||
maybe_pacibsp
|
maybe_pacibsp
|
||||||
sub sp, sp, #0x50
|
stp x0, x9, [sp, #-0x50]!
|
||||||
stp x0, x9, [sp]
|
|
||||||
stp x10, x11, [sp, #0x10]
|
stp x10, x11, [sp, #0x10]
|
||||||
stp x12, x13, [sp, #0x20]
|
stp x12, x13, [sp, #0x20]
|
||||||
stp x14, x15, [sp, #0x30]
|
stp x14, x15, [sp, #0x30]
|
||||||
@@ -372,8 +365,7 @@ Lswift_bridgeObjectRetainDirectObjC:
|
|||||||
ldp x14, x15, [sp, #0x30]
|
ldp x14, x15, [sp, #0x30]
|
||||||
ldp x12, x13, [sp, #0x20]
|
ldp x12, x13, [sp, #0x20]
|
||||||
ldp x10, x11, [sp, #0x10]
|
ldp x10, x11, [sp, #0x10]
|
||||||
ldp x0, x9, [sp]
|
ldp x0, x9, [sp], #0x50
|
||||||
add sp, sp, #0x50
|
|
||||||
ret_maybe_ab
|
ret_maybe_ab
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user