src/cpu/mips/vm/templateInterpreter_mips_64.cpp

changeset 32
3b95e10c12fa
parent 1
2d8a650513c2
child 33
52672a450193
     1.1 --- a/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Tue Jun 28 16:45:57 2016 +0800
     1.2 +++ b/src/cpu/mips/vm/templateInterpreter_mips_64.cpp	Fri Apr 29 11:06:40 2016 -0400
     1.3 @@ -758,6 +758,7 @@
     1.4      __ bne(T3, R0, notByte);
     1.5      __ delayed()->dadd(T0, T0, AT);
     1.6  
     1.7 +    __ sync();
     1.8      __ lb(V0, T0, 0);
     1.9      __ b(xreturn_path);
    1.10      __ delayed()->nop();
    1.11 @@ -767,6 +768,7 @@
    1.12      __ daddi(T1, T3, (-1) * stos);
    1.13      __ bne(T1, R0, notShort);
    1.14      __ delayed()->nop();
    1.15 +    __ sync();
    1.16      __ lh(V0, T0, 0);
    1.17      __ b(xreturn_path);
    1.18      __ delayed()->nop();
    1.19 @@ -776,6 +778,7 @@
    1.20      __ daddi(T1, T3, (-1) * ctos);
    1.21      __ bne(T1, R0, notChar);
    1.22      __ delayed()->nop();
    1.23 +    __ sync();
    1.24      __ lhu(V0, T0, 0);
    1.25      __ b(xreturn_path);
    1.26      __ delayed()->nop();
    1.27 @@ -786,6 +789,7 @@
    1.28      __ bne(T1, R0, notObj);
    1.29      __ delayed()->nop();
    1.30      //add for compressedoops
    1.31 +    __ sync();
    1.32      __ load_heap_oop(V0, Address(T0, 0));
    1.33      __ b(xreturn_path);
    1.34      __ delayed()->nop();
    1.35 @@ -800,6 +804,7 @@
    1.36      __ stop("what type is this?");
    1.37      __ bind(okay);
    1.38  #endif // ASSERT
    1.39 +    __ sync();
    1.40      __ lw(V0, T0, 0);
    1.41  
    1.42      __ bind(xreturn_path);
    1.43 @@ -812,8 +817,10 @@
    1.44  
    1.45      // generate a vanilla interpreter entry as the slow path
    1.46      __ bind(slow_path);
    1.47 +    __ sync();
    1.48      (void) generate_normal_entry(false);
    1.49    } else {
    1.50 +    __ sync();
    1.51      (void) generate_normal_entry(false);
    1.52    }
    1.53  
    1.54 @@ -2257,6 +2264,7 @@
    1.55  		       false, /* throw_monitor_exception */
    1.56                         false, /* install_monitor_exception */
    1.57                         true); /* notify_jvmdi */
    1.58 +    __ sync();
    1.59   // __ jmp(esi);
    1.60    //__ jmp(T0);
    1.61      __ jr(T0); 

mercurial