Tue, 10 May 2016 15:22:05 -0400
Fixed print_reg.
print_reg(A0) outputs wrong result.
src/cpu/mips/vm/assembler_mips.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cpu/mips/vm/assembler_mips.cpp Tue May 10 15:08:51 2016 -0400 1.2 +++ b/src/cpu/mips/vm/assembler_mips.cpp Tue May 10 15:22:05 2016 -0400 1.3 @@ -1178,6 +1178,8 @@ 1.4 li(A0, (long)reg->name()); 1.5 if (reg == SP) 1.6 addiu(A1, SP, wordSize * 23); //23 registers saved in pushad() 1.7 + else if (reg == A0) 1.8 + ld(A1, SP, wordSize * 19); //A0 has been modified by li(A0, (long)reg->name()). Ugly Code! 1.9 else 1.10 move(A1, reg); 1.11 li(A2, (long)cur_pc);