ObjFW  Check-in [8f346088f4]

Overview
Comment:MIPS lookup: Let the assembler insert the nops.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8f346088f434e00f8b395a1665b4652fab40878dcdffd80069e3fd9930285629
User & Date: js on 2013-07-06 12:50:42
Other Links: manifest | tags
Context
2013-07-07
12:47
Improve apple-forwarding-i386.S. check-in: e396a8e363 user: js tags: trunk
2013-07-06
12:50
MIPS lookup: Let the assembler insert the nops. check-in: 8f346088f4 user: js tags: trunk
00:21
Add MIPS/ELF assembly lookup implementation. check-in: 9c630f8f86 user: js tags: trunk
Changes

Modified src/runtime/lookup-mips-elf.S from [7067db37e0] to [5a290d4602].

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

.globl objc_msg_lookup
.globl objc_msg_lookup_super

.section .text
objc_msg_lookup:
	beqz	$a0, ret_nil
	nop

	lw	$t0, 0($a0)
	lw	$t0, 32($t0)

lookup:
#if defined(_MIPSEL)
# ifdef OF_SELUID24







<







18
19
20
21
22
23
24

25
26
27
28
29
30
31

.globl objc_msg_lookup
.globl objc_msg_lookup_super

.section .text
objc_msg_lookup:
	beqz	$a0, ret_nil


	lw	$t0, 0($a0)
	lw	$t0, 32($t0)

lookup:
#if defined(_MIPSEL)
# ifdef OF_SELUID24
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
#endif
	addu	$t0, $t0, $t2
	lw	$t0, 0($t0)
	addu	$t0, $t0, $t3
	lw	$t0, 0($t0)

	beqz	$t0, objc_not_found_handler
	nop

	move	$v0, $t0
	j	$ra
	nop

objc_msg_lookup_super:
	lw	$t0, 0($a0)
	beqz	$t0, ret_nil
	nop

	lw	$t0, 4($a0)
	lw	$t0, 32($t0)

	b	lookup
	nop

ret_nil:
	lui	$v0, %hi(nil_method)
	addiu	$v0, %lo(nil_method)
	j	$ra
	nop

nil_method:
	addu	$v0, $zero, $zero
	j	$ra
	nop

.type objc_msg_lookup, %function
.type objc_msg_lookup_super, %function
.size objc_msg_lookup, objc_msg_lookup_super-objc_msg_lookup
.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super

#ifdef __linux__
.section .note.GNU-stack, "", %progbits
#endif







<



<




<





<





<


|

<









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
#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


objc_msg_lookup_super:
	lw	$t0, 0($a0)
	beqz	$t0, ret_nil


	lw	$t0, 4($a0)
	lw	$t0, 32($t0)

	b	lookup


ret_nil:
	lui	$v0, %hi(nil_method)
	addiu	$v0, %lo(nil_method)
	j	$ra


nil_method:
	move	$v0, $zero
	j	$ra


.type objc_msg_lookup, %function
.type objc_msg_lookup_super, %function
.size objc_msg_lookup, objc_msg_lookup_super-objc_msg_lookup
.size objc_msg_lookup_super, ret_nil-objc_msg_lookup_super

#ifdef __linux__
.section .note.GNU-stack, "", %progbits
#endif