Differences From Artifact [fc34beda3a]:
- File src/runtime/lookup-asm-mips-elf.S — part of check-in [8417e06951] at 2013-07-11 12:48:48 on branch trunk — Improve file name consistency. (user: js, size: 1701) [annotate] [blame] [check-ins using]
- File src/runtime/lookup-mips-elf.S — part of check-in [aeb47d24b5] at 2013-07-11 12:33:06 on branch trunk — Use section .ctors instead of .init_array. (user: js, size: 1701) [annotate] [blame] [check-ins using]
To Artifact [b184c8be25]:
- File
src/runtime/lookup-asm-mips-elf.S
— part of check-in
[8108a32927]
at
2013-07-24 22:56:09
on branch trunk
— lookup-asm-mips-elf.S: Support PIC.
This also improves the check for the ABI. (user: js, size: 1989) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
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 | lw $t0, 0($t0) #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) beqz $t0, objc_not_found_handler move $v0, $t0 j $ra .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: lw $t0, 0($a0) beqz $t0, ret_nil lw $t0, 4($a0) lw $t0, 32($t0) b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super | > > > > > > > > > > > > > > > > > > > > > > > < < < < < | 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 102 103 104 105 106 107 108 | lw $t0, 0($t0) #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) #ifdef __PIC__ beqz $t0, forward #else beqz $t0, objc_not_found_handler #endif move $v0, $t0 j $ra ret_nil: #ifdef __PIC__ addiu $v0, $t9, nil_method-objc_msg_lookup #else la $v0, nil_method #endif j $ra #ifdef __PIC__ forward: lui $gp, %hi(_gp_disp) addiu $gp, $gp, %lo(_gp_disp) addu $gp, $gp, $t9 addiu $gp, $gp, forward-objc_msg_lookup lw $t9, %call16(objc_not_found_handler)($gp) jr $t9 #endif .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: lw $t0, 0($a0) beqz $t0, ret_nil lw $t0, 4($a0) lw $t0, 32($t0) b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: move $v0, $zero j $ra #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |