ItaniumMangleContextImpl::mangleThunk中如何区分处理普通函数和带有this及返回调整的Thunk?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在ItaniumMangleContextImpl::mangleThunk函数中,通过检查Thunk.Return.isEmpty()的返回值来区分是否需要进行返回调整的编码。如果不为空,则在输出流中先添加一个'c'字符,并随后进行返回调整的编码。同时,无论是否存在返回调整,都会进行this指针调整的编码。编码完成后,都会调用Mangler.mangleFunctionEncoding(MD)来编码最终的目标函数。