7120481: storeStore barrier in constructor with final field

Issue storestore barrier before constructor return if the constructor write final field.

Reviewed-by: dholmes, jrose, roland, coleenp
This commit is contained in:
Jiangli Zhou 2012-02-21 13:14:55 -05:00 committed by Jiangli Zhou
parent a94cb97f4a
commit 3e904497b1
18 changed files with 155 additions and 1 deletions

View file

@ -3231,6 +3231,26 @@ void LIR_Assembler::membar_release() {
// no-op on TSO
}
void LIR_Assembler::membar_loadload() {
// no-op
//__ membar(Assembler::Membar_mask_bits(Assembler::loadload));
}
void LIR_Assembler::membar_storestore() {
// no-op
//__ membar(Assembler::Membar_mask_bits(Assembler::storestore));
}
void LIR_Assembler::membar_loadstore() {
// no-op
//__ membar(Assembler::Membar_mask_bits(Assembler::loadstore));
}
void LIR_Assembler::membar_storeload() {
__ membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
}
// Pack two sequential registers containing 32 bit values
// into a single 64 bit register.
// src and src->successor() are packed into dst