Differences From Artifact [23159b41e1]:
- File
src/runtime/lookup-asm/lookup-asm-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: 2080) [annotate] [blame] [check-ins using]
To Artifact [d1cf6bd700]:
- File src/runtime/lookup-asm/lookup-asm-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: 2090) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
24 25 26 27 28 29 30 | .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro GENERATE_LOOKUP name notFound \name: test rdi, rdi | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro GENERATE_LOOKUP name notFound \name: test rdi, rdi jz short .LreturnNilMethod test dil, 1 jnz short .LtaggedPointer_\name mov r8, [rdi] mov r8, [r8 + 64] |
︙ | ︙ | |||
69 70 71 72 73 74 75 | .endm .macro GENERATE_LOOKUP_SUPER name lookup \name: mov r8, rdi mov rdi, [rdi] test rdi, rdi | | | | | | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | .endm .macro GENERATE_LOOKUP_SUPER name lookup \name: mov r8, rdi mov rdi, [rdi] test rdi, rdi jz short .LreturnNilMethod mov r8, [r8 + 8] mov r8, [r8 + 64] jmp short .Lmain_\lookup .type \name, %function .size \name, .-\name .endm GENERATE_LOOKUP objc_msg_lookup objc_methodNotFound GENERATE_LOOKUP objc_msg_lookup_stret objc_methodNotFound_stret GENERATE_LOOKUP_SUPER objc_msg_lookup_super objc_msg_lookup GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret .LreturnNilMethod: lea rax, [rip + .LnilMethod] ret .LnilMethod: xor rax, rax ret #if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD) .section .note.GNU-stack, "", %progbits #endif |