ObjFW  Check-in [bf9c95599d]

Overview
Comment:Fix forwarding-ppc-elf.S.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: bf9c95599d2c1d1c056212e73e99a9983f12bb29c2babff87b40eb6167690ec0
User & Date: js on 2013-07-31 15:30:57
Other Links: manifest | tags
Context
2013-07-31
15:31
Add objc_msg_lookup_stret for PPC/ELF. check-in: e39e55efff user: js tags: trunk
15:30
Fix forwarding-ppc-elf.S. check-in: bf9c95599d user: js tags: trunk
2013-07-30
21:46
Fix two typos. check-in: 1790183411 user: js tags: trunk
Changes

Modified src/forwarding-ppc-elf.S from [6cfdfe7134] to [0811ebd798].

21
22
23
24
25
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
21
22
23
24
25
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







-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
















-
+


-
+

-
+

-
+




-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+







of_forward:
of_forward_stret: /* FIXME */
	stwu	%r1, -112(%r1)
	mflr	%r0
	stw	%r0, 116(%r1)

	/* Save all arguments */
	stw	%r3, 4(%r1)
	stw	%r4, 8(%r1)
	stw	%r5, 12(%r1)
	stw	%r6, 16(%r1)
	stw	%r7, 20(%r1)
	stw	%r8, 24(%r1)
	stw	%r9, 28(%r1)
	stw	%r10, 32(%r1)
	stw	%r3, 8(%r1)
	stw	%r4, 12(%r1)
	stw	%r5, 16(%r1)
	stw	%r6, 20(%r1)
	stw	%r7, 24(%r1)
	stw	%r8, 28(%r1)
	stw	%r9, 32(%r1)
	stw	%r10, 36(%r1)

	/* Save all floating point arguments */
	stfd	%f1, 40(%r1)
	stfd	%f2, 48(%r1)
	stfd	%f3, 56(%r1)
	stfd	%f4, 64(%r1)
	stfd	%f5, 72(%r1)
	stfd	%f6, 80(%r1)
	stfd	%f7, 88(%r1)
	stfd	%f8, 96(%r1)

	lis	%r4, sel_forwardingTargetForSelector_@ha
	la	%r4, sel_forwardingTargetForSelector_@l(%r4)
	bl	objc_msg_lookup@plt
	mtctr	%r3

	lwz	%r3, 4(%r1)
	lwz	%r3, 8(%r1)
	lis	%r4, sel_forwardingTargetForSelector_@ha
	la	%r4, sel_forwardingTargetForSelector_@l(%r4)
	lwz	%r5, 8(%r1)
	lwz	%r5, 12(%r1)
	bctrl
	stw	%r3, 4(%r1)
	stw	%r3, 8(%r1)

	lwz	%r4, 8(%r1)
	lwz	%r4, 12(%r1)
	bl	objc_msg_lookup@plt
	mtctr	%r3

	/* Restore all arguments */
	lwz	%r3, 4(%r1)
	lwz	%r4, 8(%r1)
	lwz	%r5, 12(%r1)
	lwz	%r6, 16(%r1)
	lwz	%r7, 20(%r1)
	lwz	%r8, 24(%r1)
	lwz	%r9, 28(%r1)
	lwz	%r10, 32(%r1)
	lwz	%r3, 8(%r1)
	lwz	%r4, 12(%r1)
	lwz	%r5, 16(%r1)
	lwz	%r6, 20(%r1)
	lwz	%r7, 24(%r1)
	lwz	%r8, 28(%r1)
	lwz	%r9, 32(%r1)
	lwz	%r10, 36(%r1)

	/* Restore all floating point arguments */
	lfd	%f1, 40(%r1)
	lfd	%f2, 48(%r1)
	lfd	%f3, 56(%r1)
	lfd	%f4, 64(%r1)
	lfd	%f5, 72(%r1)