src/share/vm/c1/c1_ValueMap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/c1/c1_ValueMap.hpp	Tue Feb 28 23:59:24 2017
--- new/src/share/vm/c1/c1_ValueMap.hpp	Tue Feb 28 23:59:24 2017

*** 155,164 **** --- 155,170 ---- void do_MonitorExit (MonitorExit* x) { kill_memory(); } void do_Invoke (Invoke* x) { kill_memory(); } void do_UnsafePutRaw (UnsafePutRaw* x) { kill_memory(); } void do_UnsafePutObject(UnsafePutObject* x) { kill_memory(); } void do_UnsafeGetAndSetObject(UnsafeGetAndSetObject* x) { kill_memory(); } + void do_UnsafeGetRaw (UnsafeGetRaw* x) { /* nothing to do */ } + void do_UnsafeGetObject(UnsafeGetObject* x) { + if (x->is_volatile()) { // the JMM requires this + kill_memory(); + } + } void do_Intrinsic (Intrinsic* x) { if (!x->preserves_state()) kill_memory(); } void do_Phi (Phi* x) { /* nothing to do */ } void do_Local (Local* x) { /* nothing to do */ } void do_Constant (Constant* x) { /* nothing to do */ }
*** 195,206 **** --- 201,210 ---- void do_Throw (Throw* x) { /* nothing to do */ } void do_Base (Base* x) { /* nothing to do */ } void do_OsrEntry (OsrEntry* x) { /* nothing to do */ } void do_ExceptionObject(ExceptionObject* x) { /* nothing to do */ } void do_RoundFP (RoundFP* x) { /* nothing to do */ } void do_UnsafeGetRaw (UnsafeGetRaw* x) { /* nothing to do */ } void do_UnsafeGetObject(UnsafeGetObject* x) { /* nothing to do */ } void do_ProfileCall (ProfileCall* x) { /* nothing to do */ } void do_ProfileReturnType (ProfileReturnType* x) { /* nothing to do */ } void do_ProfileInvoke (ProfileInvoke* x) { /* nothing to do */ }; void do_RuntimeCall (RuntimeCall* x) { /* nothing to do */ }; void do_MemBar (MemBar* x) { /* nothing to do */ };

src/share/vm/c1/c1_ValueMap.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File