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