#7589 fixed wrong start address calculation before calling popframe_preserve_args in generate_throw_exception of interpreter

Sat, 29 Sep 2018 09:50:15 +0800

author
wanghaomin
date
Sat, 29 Sep 2018 09:50:15 +0800
changeset 9254
6453d3a9f18e
parent 9253
c30fb4ef0275
child 9255
d15bd80eb701

#7589 fixed wrong start address calculation before calling popframe_preserve_args in generate_throw_exception of interpreter
Reviewed-by: aoqi

src/cpu/mips/vm/interp_masm_mips_64.cpp file | annotate | diff | comparison | revisions
src/cpu/mips/vm/templateInterpreter_mips_64.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/interp_masm_mips_64.cpp	Wed Sep 19 18:00:50 2018 +0800
     1.2 +++ b/src/cpu/mips/vm/interp_masm_mips_64.cpp	Sat Sep 29 09:50:15 2018 +0800
     1.3 @@ -137,7 +137,7 @@
     1.4      bind(L);
     1.5    }
     1.6    #endif
     1.7 -  }
     1.8 +}
     1.9  
    1.10  void InterpreterMacroAssembler::call_VM_base(Register oop_result,
    1.11                                               Register java_thread,
     2.1 --- a/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Wed Sep 19 18:00:50 2018 +0800
     2.2 +++ b/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Sat Sep 29 09:50:15 2018 +0800
     2.3 @@ -1970,11 +1970,11 @@
     2.4      // Compute size of arguments for saving when returning to deoptimized caller
     2.5      __ get_method(A1);
     2.6      __ verify_oop(A1);
     2.7 -    __ ld(A1,A1,in_bytes(Method::const_offset()));
     2.8 +    __ ld(A1, A1, in_bytes(Method::const_offset()));
     2.9      __ lhu(A1, A1, in_bytes(ConstMethod::size_of_parameters_offset()));
    2.10      __ shl(A1, Interpreter::logStackElementSize);
    2.11      __ restore_locals();
    2.12 -    __ dsub(A2, LVP, T0);
    2.13 +    __ dsub(A2, LVP, A1);
    2.14      __ daddiu(A2, A2, wordSize);
    2.15      // Save these arguments
    2.16  #ifndef OPT_THREAD

mercurial