Fixed print_reg.

Tue, 10 May 2016 15:22:05 -0400

author
aoqi
date
Tue, 10 May 2016 15:22:05 -0400
changeset 9
81c75db49881
parent 8
cf5765c81f87
child 10
0b0d61d41da1

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);

mercurial