[G1] G1 runs OK for SPECjvm2008.

Thu, 16 Nov 2017 17:27:00 +0800

author
fujie
date
Thu, 16 Nov 2017 17:27:00 +0800
changeset 8008
2c1fab4a6f4e
parent 8007
117a52dcef89
child 8009
0477693968a6

[G1] G1 runs OK for SPECjvm2008.

src/cpu/mips/vm/templateInterpreter_mips_64.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Wed Nov 08 10:07:02 2017 +0800
     1.2 +++ b/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Thu Nov 16 17:27:00 2017 +0800
     1.3 @@ -818,6 +818,7 @@
     1.4      const Address field_address(V0, referent_offset);
     1.5      __ load_heap_oop(V0, field_address);
     1.6  
     1.7 +    __ push(RA);
     1.8      // Generate the G1 pre-barrier code to log the value of
     1.9      // the referent field in an SATB buffer.
    1.10      __ g1_write_barrier_pre(noreg /* obj */,
    1.11 @@ -826,11 +827,10 @@
    1.12                              Rmethod /* tmp */,
    1.13                              true /* tosca_live */,
    1.14                              true /* expand_call */);
    1.15 -
    1.16 -    __ move(SP, Rsender);      // set sp to sender sp
    1.17 +    __ pop(RA);
    1.18  
    1.19      __ jr(RA);
    1.20 -    __ nop();
    1.21 +    __ delayed()->daddu(SP, Rsender, R0);      // set sp to sender sp
    1.22  
    1.23      // generate a vanilla interpreter entry as the slow path
    1.24      __ bind(slow_path);

mercurial