Comment by kevincox
2 years ago
Even when dynamic linking a lot of calls will be internal to each library. So you can either:
1. Use a stable calling convention for external interfaces.
2. Use a stable calling convention for everything, but generate trampolines for external calls.
Swift is actually pretty cool here. It basically does 2. But you can also specify which dependencies are "pinned" so that even if they are dynamically linked they can't be updated without a recompile. Then you can use the unstable calling convention when calling those dependencies.
No comments yet
Contribute on Hacker News ↗