I'm working on an amateur JVM implementation, and I'm trying to make sure I have test coverage for all of the opcodes in the spec. I've gotten it down to the last few, but nop
and swap
have been eluding me. For example, here's a simple function that might use swap
:
static int do_swap() {
int a = 56;
int b = 32;
return b%a;
}
But the bytecode produced by javac 1.6
avoids swapping in lieu of local storage:
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
Any ideas?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…