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