Differences From Artifact [bd6425afa7]:
- File src/forwarding/apple-forwarding-arm64.S — part of check-in [2566c341f3] at 2013-12-24 00:50:36 on branch trunk — Add forwarding for iOS/ARM64. (user: js, size: 2130) [annotate] [blame] [check-ins using]
To Artifact [8cba7c9e68]:
- File
src/forwarding/apple-forwarding-arm64.S
— part of check-in
[0c332aa2d2]
at
2013-12-27 02:07:14
on branch trunk
— Rework forwarding API and ABI.
It matches the Apple API and ABI now and the forwarding handler itself
determines whether it should forward or not.This moves handling of +[resolve{Class,Instance}Method:] to the runtime
and allows adding new kinds of forwarding without changing the runtime.Also fixes a potential stack problem in the forwarding for MIPS. (user: js, size: 2131) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | adrp x19, L_sel_forwardingTargetForSelector_@PAGE add x19, x19, L_sel_forwardingTargetForSelector_@PAGEOFF ldr x19, [x19] mov x1, x19 bl _class_respondsToSelector cbz x0, fail ldp x0, x2, [sp] mov x1, x19 bl _objc_msgSend cbz x0, fail | > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | adrp x19, L_sel_forwardingTargetForSelector_@PAGE add x19, x19, L_sel_forwardingTargetForSelector_@PAGEOFF ldr x19, [x19] mov x1, x19 bl _class_respondsToSelector cbz x0, fail ldp x0, x2, [sp] mov x1, x19 bl _objc_msgSend cbz x0, fail |
︙ | ︙ |