Overview
Comment: | lookup-asm-*.S: Reorder functions. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ad2abaf3bed416fe64d934a87a00081d |
User & Date: | js on 2013-07-25 00:46:33 |
Other Links: | manifest | tags |
Context
2013-07-25
| ||
22:41 | Fix -[forwardingTargetForSelector:] on AMD64. check-in: a7409be2c4 user: js tags: trunk | |
00:46 | lookup-asm-*.S: Reorder functions. check-in: ad2abaf3be user: js tags: trunk | |
2013-07-24
| ||
23:05 | PLATFORMS.md: Add Linux/MIPS32. check-in: 5092bda14b user: js tags: trunk | |
Changes
Modified src/runtime/lookup-asm-amd64-elf.S from [3eb642b445] to [ae968a3a5d].
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | movq (%r8,%rcx,8), %r8 movq (%r8,%rdx,8), %rax testq %rax, %rax jz objc_not_found_handler@PLT ret .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super | > > > > < < < < | 39 40 41 42 43 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 70 71 | movq (%r8,%rcx,8), %r8 movq (%r8,%rdx,8), %rax testq %rax, %rax jz objc_not_found_handler@PLT ret ret_nil: leaq nil_method(%rip), %rax ret .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: movq %rdi, %rax ret #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm-amd64-macho.S from [40942beeb9] to [dffd0702ad].
︙ | ︙ | |||
36 37 38 39 40 41 42 | movq (%r8,%rax,8), %r8 #endif movq (%r8,%rcx,8), %r8 movq (%r8,%rdx,8), %rax testq %rax, %rax | | | | > < < < < | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | movq (%r8,%rax,8), %r8 #endif movq (%r8,%rcx,8), %r8 movq (%r8,%rdx,8), %rax testq %rax, %rax jz _objc_not_found_handler ret ret_nil: leaq nil_method(%rip), %rax ret _objc_msg_lookup_super: movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp lookup nil_method: movq %rdi, %rax ret |
Modified src/runtime/lookup-asm-arm-elf.S from [fd72b45853] to [7ce2f3e70c].
︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | ldr r2, [r2, r3, lsl #2] cmp r2, #0 beq objc_not_found_handler(PLT) mov r0, r2 bx lr .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: ldr r2, [r0, #0] cmp r0, #0 beq ret_nil ldr r2, [r0, #4] ldr r2, [r2, #32] b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super | > > > > < < < < | 38 39 40 41 42 43 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 70 | ldr r2, [r2, r3, lsl #2] cmp r2, #0 beq objc_not_found_handler(PLT) mov r0, r2 bx lr ret_nil: adr r0, nil_method bx lr .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: ldr r2, [r0, #0] cmp r0, #0 beq ret_nil ldr r2, [r0, #4] ldr r2, [r2, #32] b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: mov r0, #0 bx lr #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm-ppc-elf.S from [3310b0b260] to [247bf7e58a].
︙ | ︙ | |||
62 63 64 65 66 67 68 | cmpwi %r5, 0 beq- ret_nil lwz %r5, 4(%r3) lwz %r5, 32(%r5) b lookup | < < | | > > | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | cmpwi %r5, 0 beq- ret_nil lwz %r5, 4(%r3) lwz %r5, 32(%r5) b lookup ret_nil: mflr %r0 bl get_pc mtlr %r0 .L1: addi %r3, %r3, nil_method-.L1 blr get_pc: mflr %r3 blr .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: li %r3, 0 blr #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm-x86-elf.S from [4f686320bc] to [63ce010867].
︙ | ︙ | |||
40 41 42 43 44 45 46 | movzbl (%eax), %ecx movl (%edx,%ecx,4), %eax testl %eax, %eax jz forward ret | | | > > > > > > > > > > < < < < < < < < < < | 40 41 42 43 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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | movzbl (%eax), %ecx movl (%edx,%ecx,4), %eax testl %eax, %eax jz forward ret ret_nil: call get_eip .L2: addl $nil_method-.L2, %eax ret forward: call get_eip .L1: addl $objc_not_found_handler-.L1, %eax jmp *%eax get_eip: movl (%esp), %eax ret .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: movl 4(%esp), %edx cmpl $0, (%edx) je ret_nil movl 4(%edx), %edx movl 32(%edx), %edx jmp lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: movl 4(%esp), %eax ret #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |