Comment: | lookup-asm: Clean up local labels. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
f4cf33fee6180ca1c0b014f733a9bd78 |
User & Date: | js on 2014-01-15 18:53:48 |
Other Links: | manifest | tags |
2014-01-15
| ||
19:04 | forwarding: Clean up local labels. check-in: 271bfb18b3 user: js tags: trunk | |
18:53 | lookup-asm: Clean up local labels. check-in: f4cf33fee6 user: js tags: trunk | |
2014-01-14
| ||
00:56 | apple-forwarding-arm64.S: Fix two bugs. check-in: 07d8ae8c34 user: js tags: trunk | |
Modified src/runtime/lookup-asm/lookup-asm-amd64-elf.S from [b1fc97c64a] to [f8917d36c7].
︙ | ︙ | |||
26 27 28 29 30 31 32 | \name: testq %rdi, %rdi jz ret_nil movq (%rdi), %r8 movq 64(%r8), %r8 | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | \name: testq %rdi, %rdi jz ret_nil movq (%rdi), %r8 movq 64(%r8), %r8 .Lmain_\name: movq (%rsi), %rax movzbl %ah, %ecx movzbl %al, %edx #ifdef OF_SELUID24 shrl $16, %eax movq (%r8,%rax,8), %r8 |
︙ | ︙ | |||
55 56 57 58 59 60 61 | movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp .Lmain_\lookup .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found generate_lookup objc_msg_lookup_stret objc_method_not_found_stret generate_lookup_super objc_msg_lookup_super objc_msg_lookup |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-amd64-macho.S from [78afdc07bf] to [b08544909a].
︙ | ︙ | |||
26 27 28 29 30 31 32 | $0: testq %rdi, %rdi jz ret_nil movq (%rdi), %r8 movq 64(%r8), %r8 | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | $0: testq %rdi, %rdi jz ret_nil movq (%rdi), %r8 movq 64(%r8), %r8 Lmain_$0: movq (%rsi), %rax movzbl %ah, %ecx movzbl %al, %edx #ifdef OF_SELUID24 shrl $16, %eax movq (%r8,%rax,8), %r8 |
︙ | ︙ | |||
53 54 55 56 57 58 59 | movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | movq (%rdi), %rax testq %rax, %rax jz ret_nil movq 8(%rdi), %r8 movq 64(%r8), %r8 movq %rdi, %rax jmp Lmain_$1 .endmacro generate_lookup _objc_msg_lookup, _objc_method_not_found generate_lookup _objc_msg_lookup_stret, _objc_method_not_found_stret generate_lookup_super _objc_msg_lookup_super, _objc_msg_lookup generate_lookup_super _objc_msg_lookup_super_stret, _objc_msg_lookup_stret |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-arm-elf.S from [73a7ee9bbf] to [9df7e0cdd8].
︙ | ︙ | |||
26 27 28 29 30 31 32 | \name: cmp r0, #0 beq ret_nil ldr r2, [r0, #0] ldr r2, [r2, #32] | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | \name: cmp r0, #0 beq ret_nil ldr r2, [r0, #0] ldr r2, [r2, #32] .Lmain_\name: #ifdef OF_SELUID24 ldrb r3, [r1, #2] ldr r2, [r2, r3, lsl #2] #endif ldrb r3, [r1, #1] ldr r2, [r2, r3, lsl #2] ldrb r3, [r1, #0] |
︙ | ︙ | |||
54 55 56 57 58 59 60 | ldr r2, [r0, #0] cmp r0, #0 beq ret_nil ldr r2, [r0, #4] ldr r2, [r2, #32] | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ldr r2, [r0, #0] cmp r0, #0 beq ret_nil ldr r2, [r0, #4] ldr r2, [r2, #32] b .Lmain_\lookup .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found generate_lookup objc_msg_lookup_stret objc_method_not_found_stret generate_lookup_super objc_msg_lookup_super objc_msg_lookup |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-mips-elf.S from [93918881cc] to [c832ec39b3].
︙ | ︙ | |||
20 21 22 23 24 25 26 | .globl objc_msg_lookup_stret .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro generate_lookup name not_found \name: | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | .globl objc_msg_lookup_stret .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro generate_lookup name not_found \name: beqz $a0, 0f lw $t0, 0($a0) lw $t0, 32($t0) .Lmain_\name: #if defined(__MIPSEL__) # ifdef OF_SELUID24 lbu $t1, 2($a1) # endif lbu $t2, 1($a1) lbu $t3, 0($a1) #elif defined(__MIPSEB__) |
︙ | ︙ | |||
58 59 60 61 62 63 64 | #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) #ifdef __PIC__ | | < > < > | | | < > | 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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) #ifdef __PIC__ beqz $t0, 1f #else beqz $t0, \not_found #endif move $v0, $t0 j $ra 0: #ifdef __PIC__ addiu $v0, $t9, nil_method-\name #else la $v0, nil_method #endif j $ra #ifdef __PIC__ 1: lui $gp, %hi(_gp_disp) addiu $gp, $gp, %lo(_gp_disp) addu $gp, $gp, $t9 addiu $gp, $gp, 1b-\name lw $t9, %call16(\not_found)($gp) jr $t9 #endif .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: lw $t0, 0($a0) beqz $t0, 0f lw $t0, 4($a0) lw $t0, 32($t0) b .Lmain_\lookup 0: #ifdef __PIC__ addiu $v0, $t9, nil_method-\name #else la $v0, nil_method #endif j $ra .type \name, %function |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-ppc-elf.S from [391d6d361e] to [430e7ba2f2].
︙ | ︙ | |||
26 27 28 29 30 31 32 | \name: cmpwi %r3, 0 beq- ret_nil lwz %r5, 0(%r3) lwz %r5, 32(%r5) | | | < > | | | | 26 27 28 29 30 31 32 33 34 35 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 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 91 92 93 94 95 96 97 98 99 100 101 | \name: cmpwi %r3, 0 beq- ret_nil lwz %r5, 0(%r3) lwz %r5, 32(%r5) .Lmain_\name: #ifdef OF_SELUID24 lbz %r6, 1(%r4) #endif lbz %r7, 2(%r4) lbz %r8, 3(%r4) #ifdef OF_SELUID24 slwi %r6, %r6, 2 #endif slwi %r7, %r7, 2 slwi %r8, %r8, 2 #ifdef OF_SELUID24 lwzx %r5, %r5, %r6 #endif lwzx %r5, %r5, %r7 lwzx %r5, %r5, %r8 cmpwi %r5, 0 beq- 0f mr %r3, %r5 blr 0: b \not_found@plt .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: lwz %r5, 0(%r3) cmpwi %r5, 0 beq- ret_nil lwz %r5, 4(%r3) lwz %r5, 32(%r5) b .Lmain_\lookup .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found generate_lookup objc_msg_lookup_stret objc_method_not_found_stret generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret ret_nil: mflr %r0 bl get_pc mtlr %r0 0: addi %r3, %r3, nil_method-0b blr nil_method: li %r3, 0 blr get_pc: mflr %r3 blr #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm/lookup-asm-x86-elf.S from [149e4ea55b] to [d354de0123].
︙ | ︙ | |||
27 28 29 30 31 32 33 | movl 4(%esp), %edx testl %edx, %edx jz ret_nil movl (%edx), %edx movl 32(%edx), %edx | | | < > < > | | | | | 27 28 29 30 31 32 33 34 35 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 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 | movl 4(%esp), %edx testl %edx, %edx jz ret_nil movl (%edx), %edx movl 32(%edx), %edx .Lmain_\name: movl 8(%esp), %eax #ifdef OF_SELUID24 movzbl 2(%eax), %ecx movl (%edx,%ecx,4), %edx #endif movzbl 1(%eax), %ecx movl (%edx,%ecx,4), %edx movzbl (%eax), %ecx movl (%edx,%ecx,4), %eax testl %eax, %eax jz 0f ret 0: call get_eip 1: addl $\not_found-1b, %eax jmp *%eax .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: movl 4(%esp), %edx cmpl $0, (%edx) je ret_nil movl 4(%edx), %edx movl 32(%edx), %edx jmp .Lmain_\lookup .type \name, %function .size \name, .-\name .endm generate_lookup objc_msg_lookup objc_method_not_found generate_lookup objc_msg_lookup_stret objc_method_not_found_stret generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret ret_nil: call get_eip 0: addl $nil_method-0b, %eax ret nil_method: xorl %eax, %eax ret get_eip: |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-x86-win32.S from [acf3286731] to [c7fb0db9a0].
︙ | ︙ | |||
27 28 29 30 31 32 33 | movl 4(%esp), %edx testl %edx, %edx jz ret_nil movl (%edx), %edx movl 32(%edx), %edx | | | < > < > | | | | | 27 28 29 30 31 32 33 34 35 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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | movl 4(%esp), %edx testl %edx, %edx jz ret_nil movl (%edx), %edx movl 32(%edx), %edx .Lmain_\name: movl 8(%esp), %eax #ifdef OF_SELUID24 movzbl 2(%eax), %ecx movl (%edx,%ecx,4), %edx #endif movzbl 1(%eax), %ecx movl (%edx,%ecx,4), %edx movzbl (%eax), %ecx movl (%edx,%ecx,4), %eax testl %eax, %eax jz 0f ret 0: call get_eip 1: addl $\not_found-1b, %eax jmp *%eax .endm .macro generate_lookup_super name lookup \name: movl 4(%esp), %edx cmpl $0, (%edx) je ret_nil movl 4(%edx), %edx movl 32(%edx), %edx jmp .Lmain_\lookup .endm generate_lookup _objc_msg_lookup _objc_method_not_found generate_lookup _objc_msg_lookup_stret _objc_method_not_found_stret generate_lookup_super _objc_msg_lookup_super _objc_msg_lookup generate_lookup_super _objc_msg_lookup_super_stret _objc_msg_lookup_stret ret_nil: call get_eip 0: addl $nil_method-0b, %eax ret nil_method: xorl %eax, %eax ret get_eip: |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm.S from [2ce6223294] to [edb9d86c46].
︙ | ︙ | |||
22 23 24 25 26 27 28 | # elif defined(__i386__) # include "lookup-asm-x86-elf.S" # elif defined(__arm__) || defined(__ARM__) # include "lookup-asm-arm-elf.S" # elif defined(__ppc__) || defined(__PPC__) # include "lookup-asm-ppc-elf.S" # elif (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) || \ | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # elif defined(__i386__) # include "lookup-asm-x86-elf.S" # elif defined(__arm__) || defined(__ARM__) # include "lookup-asm-arm-elf.S" # elif defined(__ppc__) || defined(__PPC__) # include "lookup-asm-ppc-elf.S" # elif (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) || \ (defined(__mips_eabi) && _MIPS_SZPTR == 32) # include "lookup-asm-mips-elf.S" # endif #elif defined(__MACH__) # if defined(__amd64__) || defined(__x86_64__) # include "lookup-asm-amd64-macho.S" # endif #elif defined(_WIN32) && defined(__i386__) |
︙ | ︙ |
Modified src/runtime/runtime-private.h from [0b262e3de6] to [a16b73d2bd].
︙ | ︙ | |||
173 174 175 176 177 178 179 | return (void*)s->buckets[i]->buckets[j]; #endif } #if defined(__ELF__) # if defined(__amd64__) || defined(__x86_64__) || defined(__i386__) || \ | | > | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | return (void*)s->buckets[i]->buckets[j]; #endif } #if defined(__ELF__) # if defined(__amd64__) || defined(__x86_64__) || defined(__i386__) || \ defined(__ppc__) || defined(__PPC__) || defined(__arm__) || \ defined(__ARM__) # define OF_ASM_LOOKUP # endif # if (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) || \ (defined(__mips_eabi) && _MIPS_SZPTR == 32) # define OF_ASM_LOOKUP # endif #elif defined(__MACH__) # if defined(__amd64__) || defined(__x86_64__) # define OF_ASM_LOOKUP # endif #elif defined(_WIN32) && defined(__i386__) |
︙ | ︙ |