To make the interceptor implementation more flexible, allowing for 2 levels of indirection instead of just 1 in the current scheme (where the intercepted function aliases the interceptor implementation), introduce the notion of an interceptor "trampoline". A trampoline may be a real function (and not just an alias, where aliases of aliases do not work), which will simply forward to the interceptor implementation; the intercepted function will then alias the trampoline: func -[alias]-> trampoline -[call]-> interceptor Make the necessary changes to prepare for introducing real trampolines. This change does not yet introduce any real trampolines, and so trampoline == interceptor, and we currently still just have: func -[alias]-> interceptor NFC. Reviewed By: dvyukov, vitalybuka, MaskRay Differential Revision: https://reviews.llvm.org/D151316
2.7 KiB
2.7 KiB