在Wasm编译过程中,如何处理OP_I32_ADD这一opcode?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Wasm编译过程中,处理OP_I32_ADD这一opcode时,会首先通过两条LDR_X_X_I指令从栈上加载两个32位整数(位于spOffset - 2和spOffset - 1的位置),然后利用ADD_W_W_W指令对这两个数进行32位加法运算,并将结果通过STR_X_X_I指令存回栈上(覆盖原spOffset - 2位置的值)。由于此操作消耗了两个栈上元素并生成了一个新元素,因此栈偏移spOffset需要减1。