8143285: aarch64: Missing load acquire when checking if ConstantPoolCacheEntry is resolved
Reviewed-by: roland, aph
This commit is contained in:
parent
fe1c3f905b
commit
7fe249f6db
@ -189,10 +189,11 @@ void InterpreterMacroAssembler::get_cache_and_index_and_bytecode_at_bcp(Register
|
|||||||
get_cache_and_index_at_bcp(cache, index, bcp_offset, index_size);
|
get_cache_and_index_at_bcp(cache, index, bcp_offset, index_size);
|
||||||
// We use a 32-bit load here since the layout of 64-bit words on
|
// We use a 32-bit load here since the layout of 64-bit words on
|
||||||
// little-endian machines allow us that.
|
// little-endian machines allow us that.
|
||||||
// n.b. unlike x86 cache alreeady includes the index offset
|
// n.b. unlike x86 cache already includes the index offset
|
||||||
ldrw(bytecode, Address(cache,
|
lea(bytecode, Address(cache,
|
||||||
ConstantPoolCache::base_offset()
|
ConstantPoolCache::base_offset()
|
||||||
+ ConstantPoolCacheEntry::indices_offset()));
|
+ ConstantPoolCacheEntry::indices_offset()));
|
||||||
|
ldarw(bytecode, bytecode);
|
||||||
const int shift_count = (1 + byte_no) * BitsPerByte;
|
const int shift_count = (1 + byte_no) * BitsPerByte;
|
||||||
ubfx(bytecode, bytecode, shift_count, BitsPerByte);
|
ubfx(bytecode, bytecode, shift_count, BitsPerByte);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user