Differences From Artifact [6b28668374]:
- File
src/forwarding/forwarding-amd64-elf.S
— part of check-in
[ec513d0c55]
at
2023-10-24 23:56:37
on branch trunk
— Move AMD64/ELF assembly back to Intel syntax
This used to be in Intel syntax, but was moved back to AT&T syntax for
consistency with the Mach-O version, where the assembler doesn't support
the Intel syntax properly. However, it makes more sense to use Intel
syntax where possible. (user: js, size: 4516) [annotate] [blame] [check-ins using]
To Artifact [60cb5f07a9]:
- File src/forwarding/forwarding-amd64-elf.S — part of check-in [cb18f26404] at 2023-10-28 18:35:43 on branch trunk — Use more local labels in assembly (user: js, size: 4548) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
44 45 46 47 48 49 50 | movaps [rbp - 0xA0], xmm5 movaps [rbp - 0xB0], xmm6 movaps [rbp - 0xC0], xmm7 call object_getClass@PLT mov rdi, rax | | | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | movaps [rbp - 0xA0], xmm5 movaps [rbp - 0xB0], xmm6 movaps [rbp - 0xC0], xmm7 call object_getClass@PLT mov rdi, rax lea rsi, [rip + .Lsel_forwardingTargetForSelector_] call class_respondsToSelector@PLT test rax, rax jz short 0f mov rdi, [rbp - 0x10] lea rsi, [rip + .Lsel_forwardingTargetForSelector_] call objc_msg_lookup@PLT mov rdi, [rbp - 0x10] lea rsi, [rip + .Lsel_forwardingTargetForSelector_] mov rdx, [rbp - 0x18] call rax test rax, rax jz short 0f cmp rax, [rbp - 0x10] je short 0f |
︙ | ︙ | |||
130 131 132 133 134 135 136 | movaps [rbp - 0xB0], xmm6 movaps [rbp - 0xC0], xmm7 mov rdi, rsi call object_getClass@PLT mov rdi, rax | | | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | movaps [rbp - 0xB0], xmm6 movaps [rbp - 0xC0], xmm7 mov rdi, rsi call object_getClass@PLT mov rdi, rax lea rsi, [rip + .Lsel_forwardingTargetForSelector_] call class_respondsToSelector@PLT test rax, rax jz short 0f mov rdi, [rbp - 0x18] lea rsi, [rip + .Lsel_forwardingTargetForSelector_] call objc_msg_lookup@PLT mov rdi, [rbp - 0x18] lea rsi, [rip + .Lsel_forwardingTargetForSelector_] mov rdx, [rbp - 0x20] call rax test rax, rax jz short 0f cmp rax, [rbp - 0x18] je short 0f |
︙ | ︙ | |||
191 192 193 194 195 196 197 | mov rsp, rbp pop rbp jmp OFMethodNotFound_stret@PLT .type OFForward_stret, %function .size OFForward_stret, .-OFForward_stret | | | | | | | | | | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | mov rsp, rbp pop rbp jmp OFMethodNotFound_stret@PLT .type OFForward_stret, %function .size OFForward_stret, .-OFForward_stret .Linit: lea rdi, [rip + .Lmodule] jmp __objc_exec_class@PLT #ifdef OF_SOLARIS .section .init_array, "aw" #else .section .ctors, "aw", %progbits #endif .quad .Linit .section .rodata .Lstr_forwardingTargetForSelector_: .asciz "forwardingTargetForSelector:" .section .data .Lsel_forwardingTargetForSelector_: .quad .Lstr_forwardingTargetForSelector_, 0 .quad 0, 0 .Lsymtab: .quad 0, .Lsel_forwardingTargetForSelector_ .short 0, 0 .long 0 .quad 0 .Lmodule: .quad 8, 32, 0, .Lsymtab #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif |