根据前面关于aarch64架构下的编码解释可知,在src\hotspot\cpu\架构
文件夹下,
assembler_xx.hpp
assembler_xx.cpp
register_xx.hpp
register_xx.cpp
register_definitions_xx.cpp
这些文件是有关寄存器定义以及汇编编码函数实现的文件。
对于前述的openjdk底层汇编指令调用,我们只涉及了单纯寄存器调用,对于计算机而言,还有一种调用方式是寄存器和内存之间的互相访问。即,数据从内存到寄存器,或者寄存器到内存
x86的访存模型
这里不再使用aarch64
讲述访存,因为该方式下的访存模型比较复杂,有兴趣的朋友可以访问我以前有关AArch64指令的翻译 AArch64教程_阿达King哥的博客-优快云博客 。
相比而言,x86
的访存理解起来简单得多。回到x86
架构下的内存访问方式,
下面以具体的例子说明上述表格的内容
假设rbp
寄存器内保存的值是内存中的某