ObjFW  Check-in [8838387d21]

Overview
Comment:lookup-asm-sparc*.S: Add prediction to branches
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8838387d21b27d12faad504aefee66ddee03d515c95c47b04f60319f7443b8aa
User & Date: js on 2015-11-22 22:35:53
Other Links: manifest | tags
Context
2015-11-28
18:56
OFOptionsParser: Reworked API check-in: bfa913aebe user: js tags: trunk
2015-11-22
22:35
lookup-asm-sparc*.S: Add prediction to branches check-in: 8838387d21 user: js tags: trunk
2015-11-21
23:44
Use sigaction() instead of signal() check-in: 8bc06182a4 user: js tags: trunk
Changes

Modified src/runtime/lookup-asm/lookup-asm-sparc-elf.S from [dff59eb8f5] to [6d2ef40fa1].

23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
23
24
25
26
27
28
29

30
31
32
33
34
35
36
37







-
+







.globl objc_msg_lookup_super
.globl objc_msg_lookup_super_stret

.section .text
.macro generate_lookup name not_found
\name:
	cmp	%o0, 0
	beq,a	ret_nil
	beq,pn	ret_nil
	 nop

	ld	[%o0], %o2
	ld	[%o2 + 32], %o2

.Lmain_\name:
#ifdef OF_SELUID24
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
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







-
+












-
+







#ifdef OF_SELUID24
	ld	[%o2 + %o3], %o2
#endif
	ld	[%o2 + %o4], %o2
	ld	[%o2 + %o5], %o2

	cmp	%o2, 0
	beq,a	\not_found
	beq,pn	\not_found
	 nop

	retl
	 mov	%o2, %o0
.type \name, %function
.size \name, .-\name
.endm

.macro generate_lookup_super name lookup
\name:
	ld	[%o0], %o2
	cmp	%o2, 0
	beq,a	ret_nil
	beq,pn	ret_nil
	 nop

	ld	[%o0 + 4], %o2
	ba	.Lmain_\lookup
	 ld	[%o2 + 32], %o2
.type \name, %function
.size \name, .-\name

Modified src/runtime/lookup-asm/lookup-asm-sparc64-elf.S from [5d7021a6d4] to [939ac4afa7].

23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
23
24
25
26
27
28
29

30
31
32
33
34
35
36
37







-
+







.globl objc_msg_lookup_super
.globl objc_msg_lookup_super_stret

.section .text
.macro generate_lookup name not_found
\name:
	cmp	%o0, 0
	beq,a	ret_nil
	beq,pn	ret_nil
	 nop

	ldx	[%o0], %o2
	ldx	[%o2 + 64], %o2

.Lmain_\name:
#ifdef OF_SELUID24
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
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







-
+












-
+







#ifdef OF_SELUID24
	ldx	[%o2 + %o3], %o2
#endif
	ldx	[%o2 + %o4], %o2
	ldx	[%o2 + %o5], %o2

	cmp	%o2, 0
	beq,a	\not_found
	beq,pn	\not_found
	 nop

	retl
	 mov	%o2, %o0
.type \name, %function
.size \name, .-\name
.endm

.macro generate_lookup_super name lookup
\name:
	ldx	[%o0], %o2
	cmp	%o2, 0
	beq,a	ret_nil
	beq,pn	ret_nil
	 nop

	ldx	[%o0 + 8], %o2
	ba	.Lmain_\lookup
	 ldx	[%o2 + 64], %o2
.type \name, %function
.size \name, .-\name