src/share/vm/c1/c1_LIRGenerator.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/c1/c1_LIRGenerator.cpp	Tue Mar  1 10:30:32 2011
--- new/src/share/vm/c1/c1_LIRGenerator.cpp	Tue Mar  1 10:30:32 2011

*** 1557,1569 **** --- 1557,1567 ---- pre_barrier(LIR_OprFact::address(address), needs_patching, (info ? new CodeEmitInfo(info) : NULL)); } ! if (is_volatile && !needs_patching) { assert(!needs_patching && x->is_loaded(), "how do we know it's volatile if it's not loaded"); volatile_field_store(value.result(), address, info); } else { LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none; __ store(value.result(), address, info, patch_code); }
*** 1625,1637 **** --- 1623,1633 ---- address = new LIR_Address(object.result(), PATCHED_ADDR, field_type); } else { address = generate_address(object.result(), x->offset(), field_type); } ! if (is_volatile && !needs_patching) { assert(!needs_patching && x->is_loaded(), "how do we know it's volatile if it's not loaded"); volatile_field_load(address, reg, info); } else { LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none; __ load(address, reg, info, patch_code); }

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