Differences From Artifact [045420d8bf]:
- File
src/runtime/lookup-asm/lookup-asm-x86-win32.S
— part of check-in
[357bcde965]
at
2023-10-25 00:50:36
on branch trunk
— Move x86/Win32 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: 1982) [annotate] [blame] [check-ins using]
To Artifact [d9ae57eae0]:
- File src/runtime/lookup-asm/lookup-asm-x86-win32.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: 1992) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
23 24 25 26 27 28 29 | .globl _objc_msg_lookup_super_stret .section .text .macro GENERATE_LOOKUP name notFound \name: mov edx, [esp + 4] test edx, edx | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | .globl _objc_msg_lookup_super_stret .section .text .macro GENERATE_LOOKUP name notFound \name: mov edx, [esp + 4] test edx, edx jz short .LreturnNilMethod test dl, 1 jnz short .LtaggedPointer_\name mov edx, [edx] mov edx, [edx + 32] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | .endm .macro GENERATE_LOOKUP_SUPER name lookup \name: mov edx, [esp + 4] mov eax, [edx] test eax, eax | | | | | | 68 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 | .endm .macro GENERATE_LOOKUP_SUPER name lookup \name: mov edx, [esp + 4] mov eax, [edx] test eax, eax jz short .LreturnNilMethod mov [esp + 4], eax mov edx, [edx + 4] mov edx, [edx + 32] jmp short .Lmain_\lookup .def \name .scl 2 .type 32 .endef .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: mov eax, offset .LnilMethod ret .LnilMethod: xor eax, eax ret |