Differences From Artifact [2bd252147c]:
- File src/forwarding/apple-forwarding-arm64.S — part of check-in [3b97fc3cd9] at 2014-01-04 00:24:08 on branch trunk — Update copyright. (user: js, size: 2137) [annotate] [blame] [check-ins using]
To Artifact [a6501f118e]:
- File
src/forwarding/apple-forwarding-arm64.S
— part of check-in
[07d8ae8c34]
at
2014-01-14 00:56:13
on branch trunk
— apple-forwarding-arm64.S: Fix two bugs.
The offset for the stored x0 was wrong so that comparing the result of
the call to -[forwardingTargetForSelector:] with self did not work. The
other bug was that x19 was not restored before jumping to
of_method_not_found. (user: js, size: 2153) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
60 61 62 63 64 65 66 | cbz x0, fail ldp x0, x2, [sp] mov x1, x19 bl _objc_msgSend cbz x0, fail | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | cbz x0, fail ldp x0, x2, [sp] mov x1, x19 bl _objc_msgSend cbz x0, fail ldr x1, [sp] cmp x0, x1 b.eq fail /* Restore all arguments, x8 and x19, but not x0 */ ldr x1, [sp, #8] ldp x2, x3, [sp, #16] ldp x4, x5, [sp, #32] |
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 | mov sp, fp ldp fp, lr, [sp], #208 b _objc_msgSend fail: ldp x0, x1, [sp] mov sp, fp ldp fp, lr, [sp], #208 b _of_method_not_found | > | 84 85 86 87 88 89 90 91 92 93 94 95 96 | mov sp, fp ldp fp, lr, [sp], #208 b _objc_msgSend fail: ldp x0, x1, [sp] ldr x19, [sp, #72] mov sp, fp ldp fp, lr, [sp], #208 b _of_method_not_found |