ObjFW  Check-in [9adb8518bb]

Overview
Comment:call-x86_64-elf.S: Fix use of overwritten %rdi
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9adb8518bb3259c734895fbd30b7f41c33cdc8592ec588cceac9fbcd084688e6
User & Date: js on 2017-09-17 03:27:04
Other Links: manifest | tags
Context
2017-09-17
10:48
invoke-x86_64.m: Support complex long double check-in: 4628f6bbff user: js tags: trunk
03:27
call-x86_64-elf.S: Fix use of overwritten %rdi check-in: 9adb8518bb user: js tags: trunk
03:18
invoke-x86_64.m: Support complex {float,double} check-in: b35074d74a user: js tags: trunk
Changes

Modified src/invocation/call-x86_64-elf.S from [fa9ea51b67] to [dd38e0cbde].

72
73
74
75
76
77
78
79


80
81
82
83
84




85

86
87
88
89
90
91
92
72
73
74
75
76
77
78

79
80
81




82
83
84
85
86
87
88
89
90
91
92
93
94







-
+
+

-
-
-
-
+
+
+
+

+







	movq	40(%rdi), %r9
	movq	32(%rdi), %r8
	movq	24(%rdi), %rcx
	movq	16(%rdi), %rdx
	movq	8(%rdi), %rsi
	movq	0(%rdi), %rdi

	movq	-16(%rbp), %r11
	movq	-8(%rbp), %r11
	movb	225(%r11), %r11b

	cmpb	$3, 225(%rdi)
	je	.jmp_r11
	cmpb	$4, 225(%rdi)
	je	.jmp_r11
	cmpb	$3, %r11b
	je	.jmp_into_method
	cmpb	$4, %r11b
	je	.jmp_into_method

	movq	-16(%rbp), %r11
	call	*%r11

.after_send:
	movq	-8(%rbp), %rdi
	movq	%rax, 48(%rdi)
	movq	%rdx, 56(%rdi)
	movdqa	%xmm0, 64(%rdi)
109
110
111
112
113
114
115
116


117
118
119
120
121
122
123
124
125
111
112
113
114
115
116
117

118
119
120
121
122
123
124
125
126
127
128







-
+
+









.lookup_stret:
	movq	16(%rdi), %rsi
	movq	8(%rdi), %rdi
	call	objc_msg_lookup_stret@PLT

	jmp	.after_lookup

.jmp_r11:
.jmp_into_method:
	movq	-16(%rbp), %r11
	jmp	*%r11

.pop_long_double:
	fstpt	192(%rdi)
	jmp	.return

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