per*_*iae 8 java jvm bytecode javac opcode
我正在开发一个业余的JVM实现,我正在努力确保我对规范中的所有操作码都有测试覆盖率.我已经得到它倒在过去的几年,但nop和swap已经躲避我.例如,这是一个可能使用的简单函数swap:
static int do_swap() {
int a = 56;
int b = 32;
return b%a;
}
Run Code Online (Sandbox Code Playgroud)
但是生成的字节码javac 1.6避免了交换代替本地存储:
static int do_swap();
Code:
0: bipush 56
2: istore_0
3: bipush 32
5: istore_1
6: iload_1
7: iload_0
8: irem
9: ireturn
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
| 归档时间: |
|
| 查看次数: |
495 次 |
| 最近记录: |