mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-06 09:29:38 +01:00
8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter
Reviewed-by: fjiang, fyang
Backport-of: a4ca6267e1
This commit is contained in:
@@ -265,7 +265,6 @@ void InterpreterMacroAssembler::get_cache_and_index_and_bytecode_at_bcp(Register
|
||||
la(bytecode, Address(cache,
|
||||
ConstantPoolCache::base_offset() +
|
||||
ConstantPoolCacheEntry::indices_offset()));
|
||||
membar(MacroAssembler::AnyAny);
|
||||
lwu(bytecode, bytecode);
|
||||
membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
const int shift_count = (1 + byte_no) * BitsPerByte;
|
||||
|
||||
@@ -309,7 +309,6 @@ void TemplateTable::ldc(LdcType type) {
|
||||
// get type
|
||||
__ addi(x13, x11, tags_offset);
|
||||
__ add(x13, x10, x13);
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ lbu(x13, Address(x13, 0));
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
|
||||
@@ -2231,7 +2230,6 @@ void TemplateTable::load_invokedynamic_entry(Register method) {
|
||||
Label resolved;
|
||||
|
||||
__ load_resolved_indy_entry(cache, index);
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ ld(method, Address(cache, in_bytes(ResolvedIndyEntry::method_offset())));
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
|
||||
@@ -2246,7 +2244,6 @@ void TemplateTable::load_invokedynamic_entry(Register method) {
|
||||
__ call_VM(noreg, entry, method);
|
||||
// Update registers with resolved info
|
||||
__ load_resolved_indy_entry(cache, index);
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ ld(method, Address(cache, in_bytes(ResolvedIndyEntry::method_offset())));
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
|
||||
@@ -3453,7 +3450,6 @@ void TemplateTable::_new() {
|
||||
const int tags_offset = Array<u1>::base_offset_in_bytes();
|
||||
__ add(t0, x10, x13);
|
||||
__ la(t0, Address(t0, tags_offset));
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ lbu(t0, t0);
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
__ sub(t1, t0, (u1)JVM_CONSTANT_Class);
|
||||
@@ -3573,7 +3569,6 @@ void TemplateTable::checkcast() {
|
||||
// See if bytecode has already been quicked
|
||||
__ add(t0, x13, Array<u1>::base_offset_in_bytes());
|
||||
__ add(x11, t0, x9);
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ lbu(x11, x11);
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
__ sub(t0, x11, (u1)JVM_CONSTANT_Class);
|
||||
@@ -3629,7 +3624,6 @@ void TemplateTable::instanceof() {
|
||||
// See if bytecode has already been quicked
|
||||
__ add(t0, x13, Array<u1>::base_offset_in_bytes());
|
||||
__ add(x11, t0, x9);
|
||||
__ membar(MacroAssembler::AnyAny);
|
||||
__ lbu(x11, x11);
|
||||
__ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
|
||||
__ sub(t0, x11, (u1)JVM_CONSTANT_Class);
|
||||
|
||||
Reference in New Issue
Block a user