Mercurial > hg > release > icedtea7-forest-2.6 > hotspot
changeset 6718:6e7512a54bc6 icedtea-2.6.18
8221220, PR3726: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
Reviewed-by: aph
author | qpzhang |
---|---|
date | Tue, 16 Apr 2019 04:44:36 +0100 |
parents | 4a6c33ce009c |
children | 5428c90434ec |
files | src/cpu/aarch64/vm/templateTable_aarch64.cpp |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp Tue Apr 16 04:38:49 2019 +0100 +++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp Tue Apr 16 04:44:36 2019 +0100 @@ -2846,7 +2846,8 @@ { Label notVolatile; __ tbz(r5, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); - __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad)); + __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad | + MacroAssembler::StoreStore)); __ bind(notVolatile); } } @@ -2937,7 +2938,8 @@ { Label notVolatile; __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); - __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | MacroAssembler::LoadStore)); + __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | + MacroAssembler::LoadStore)); __ bind(notVolatile); } @@ -2984,7 +2986,8 @@ { Label notVolatile; __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); - __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad)); + __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad | + MacroAssembler::StoreStore)); __ bind(notVolatile); } } @@ -3067,7 +3070,7 @@ Label notVolatile; __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::LoadLoad | - MacroAssembler::LoadStore)); + MacroAssembler::LoadStore)); __ bind(notVolatile); } }