Differences From Artifact [6cfdfe7134]:
- File
src/forwarding-ppc-elf.S
— part of check-in
[9ce5b241e4]
at
2013-07-30 21:41:31
on branch trunk
— Add forwardingTargetForSelector: for PowerPC/ELF.
Methods returning structs are not yet supported. (user: js, size: 2383) [annotate] [blame] [check-ins using]
To Artifact [0811ebd798]:
- File src/forwarding-ppc-elf.S — part of check-in [bf9c95599d] at 2013-07-31 15:30:57 on branch trunk — Fix forwarding-ppc-elf.S. (user: js, size: 2387) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
21 22 23 24 25 26 27 | of_forward: of_forward_stret: /* FIXME */ stwu %r1, -112(%r1) mflr %r0 stw %r0, 116(%r1) /* Save all arguments */ | | | | | | | | | | | | | | | | | | | | | | 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, 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, 8(%r1) lis %r4, sel_forwardingTargetForSelector_@ha la %r4, sel_forwardingTargetForSelector_@l(%r4) lwz %r5, 12(%r1) bctrl stw %r3, 8(%r1) lwz %r4, 12(%r1) bl objc_msg_lookup@plt mtctr %r3 /* Restore all arguments */ 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) |
︙ | ︙ |