3.3 内存缓冲区
根据use_mbuff和update_data_ptr的值来判断:
use_mbuff:是否启用缓冲区
update_data_ptr:是否需要更新数据指针
为JIT编译的函数序言准备寄存器和内存指针状态...); // add mbuff to mem_offset in R8
self.emit_store(mem, OperandSize::S64, RDX, R8, 0); //...self.emit_load(mem, OperandSize::S64, RDX, R8, 0); // load mem into R8
self.emit_alu64(mem,...0x01, RCX, R8); // add mem_len to mem (= mem_end)
self.emit_alu64(mem, 0x01, RDI, R9); //...前6个整型参数通过寄存器传递(RDI, RSI, RDX, RCX, R8, R9),其余参数通过栈传递。
返回值通过RAX传递,调用者负责保存部分寄存器。