mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-17 22:05:31 +00:00
Merge
This commit is contained in:
commit
a4eeccb502
@ -521,3 +521,4 @@ b64432bae5271735fd53300b2005b713e98ef411 jdk-9+114
|
||||
61a214186dae6811dd989e9165e42f7dbf02acde jdk-9+116
|
||||
88170d3642905b9e6cac03e8efcc976885a7e6da jdk-9+117
|
||||
9b1075cac08dc836ec32e7b368415cbe3aceaf8c jdk-9+118
|
||||
15f3fe264872766bcb205696198f0c1502420e17 jdk-9+119
|
||||
|
||||
@ -4767,6 +4767,7 @@ void MacroAssembler::bis_zeroing(Register to, Register count, Register temp, Lab
|
||||
assert(UseBlockZeroing && VM_Version::has_block_zeroing(), "only works with BIS zeroing");
|
||||
Register end = count;
|
||||
int cache_line_size = VM_Version::prefetch_data_size();
|
||||
assert(cache_line_size > 0, "cache line size should be known for this code");
|
||||
// Minimum count when BIS zeroing can be used since
|
||||
// it needs membar which is expensive.
|
||||
int block_zero_size = MAX2(cache_line_size*3, (int)BlockZeroingLowLimit);
|
||||
|
||||
@ -49,7 +49,7 @@ void VM_Version::initialize() {
|
||||
AllocatePrefetchDistance = allocate_prefetch_distance();
|
||||
AllocatePrefetchStyle = allocate_prefetch_style();
|
||||
|
||||
if (!has_blk_init()) {
|
||||
if (!has_blk_init() || cache_line_size <= 0) {
|
||||
if (AllocatePrefetchInstr == 1) {
|
||||
warning("BIS instructions required for AllocatePrefetchInstr 1 unavailable");
|
||||
FLAG_SET_DEFAULT(AllocatePrefetchInstr, 0);
|
||||
@ -87,7 +87,7 @@ void VM_Version::initialize() {
|
||||
FLAG_SET_DEFAULT(InteriorEntryAlignment, 4);
|
||||
}
|
||||
if (is_niagara_plus()) {
|
||||
if (has_blk_init() && UseTLAB &&
|
||||
if (has_blk_init() && (cache_line_size > 0) && UseTLAB &&
|
||||
FLAG_IS_DEFAULT(AllocatePrefetchInstr)) {
|
||||
// Use BIS instruction for TLAB allocation prefetch.
|
||||
FLAG_SET_DEFAULT(AllocatePrefetchInstr, 1);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user