mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
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:
parent
a94cb97f4a
commit
3e904497b1
18 changed files with 155 additions and 1 deletions
|
@ -855,4 +855,20 @@ void InstructionPrinter::do_RuntimeCall(RuntimeCall* x) {
|
|||
output()->put(')');
|
||||
}
|
||||
|
||||
void InstructionPrinter::do_MemBar(MemBar* x) {
|
||||
if (os::is_MP()) {
|
||||
LIR_Code code = x->code();
|
||||
switch (code) {
|
||||
case lir_membar_acquire : output()->print("membar_acquire"); break;
|
||||
case lir_membar_release : output()->print("membar_release"); break;
|
||||
case lir_membar : output()->print("membar"); break;
|
||||
case lir_membar_loadload : output()->print("membar_loadload"); break;
|
||||
case lir_membar_storestore: output()->print("membar_storestore"); break;
|
||||
case lir_membar_loadstore : output()->print("membar_loadstore"); break;
|
||||
case lir_membar_storeload : output()->print("membar_storeload"); break;
|
||||
default : ShouldNotReachHere(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PRODUCT
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue