Skip to content

Commit 1476f6c

Browse files
committed
8343030: RISC-V: Small assembler cleanups
Reviewed-by: mli, rehn
1 parent f1a9a8d commit 1476f6c

File tree

8 files changed

+20
-29
lines changed

8 files changed

+20
-29
lines changed

src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ void C1SafepointPollStub::emit_code(LIR_Assembler* ce) {
4343
__ bind(_entry);
4444
InternalAddress safepoint_pc(__ pc() - __ offset() + safepoint_offset());
4545
__ relocate(safepoint_pc.rspec(), [&] {
46-
int32_t offset;
47-
__ la(t0, safepoint_pc.target(), offset);
48-
__ addi(t0, t0, offset);
46+
__ la(t0, safepoint_pc.target());
4947
});
5048
__ sd(t0, Address(xthread, JavaThread::saved_exception_pc_offset()));
5149

src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1406,9 +1406,7 @@ void LIR_Assembler::throw_op(LIR_Opr exceptionPC, LIR_Opr exceptionOop, CodeEmit
14061406
int pc_for_athrow_offset = __ offset();
14071407
InternalAddress pc_for_athrow(__ pc());
14081408
__ relocate(pc_for_athrow.rspec(), [&] {
1409-
int32_t offset;
1410-
__ la(exceptionPC->as_register(), pc_for_athrow.target(), offset);
1411-
__ addi(exceptionPC->as_register(), exceptionPC->as_register(), offset);
1409+
__ la(exceptionPC->as_register(), pc_for_athrow.target());
14121410
});
14131411
add_call_info(pc_for_athrow_offset, info); // for exception handler
14141412

src/hotspot/cpu/riscv/c2_CodeStubs_riscv.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ void C2SafepointPollStub::emit(C2_MacroAssembler& masm) {
4545
__ bind(entry());
4646
InternalAddress safepoint_pc(__ pc() - __ offset() + _safepoint_offset);
4747
__ relocate(safepoint_pc.rspec(), [&] {
48-
int32_t offset;
49-
__ la(t0, safepoint_pc.target(), offset);
50-
__ addi(t0, t0, offset);
48+
__ la(t0, safepoint_pc.target());
5149
});
5250
__ sd(t0, Address(xthread, JavaThread::saved_exception_pc_offset()));
5351
__ far_jump(callback_addr);

src/hotspot/cpu/riscv/interp_masm_riscv.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,7 @@ void InterpreterMacroAssembler::get_unsigned_2_byte_index_at_bcp(Register reg, i
193193
void InterpreterMacroAssembler::get_dispatch() {
194194
ExternalAddress target((address)Interpreter::dispatch_table());
195195
relocate(target.rspec(), [&] {
196-
int32_t offset;
197-
la(xdispatch, target.target(), offset);
198-
addi(xdispatch, xdispatch, offset);
196+
la(xdispatch, target.target());
199197
});
200198
}
201199

src/hotspot/cpu/riscv/jniFastGetField_riscv.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,7 @@ address JNI_FastGetField::generate_fast_get_int_field0(BasicType type) {
7575

7676
Address target(SafepointSynchronize::safepoint_counter_addr());
7777
__ relocate(target.rspec(), [&] {
78-
int32_t offset;
79-
__ la(rcounter_addr, target.target(), offset);
80-
__ addi(rcounter_addr, rcounter_addr, offset);
78+
__ la(rcounter_addr, target.target());
8179
});
8280

8381
Label slow;

src/hotspot/cpu/riscv/macroAssembler_riscv.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ void MacroAssembler::_verify_oop(Register reg, const char* s, const char* file,
530530
movptr(t0, (address) b);
531531
}
532532

533-
// call indirectly to solve generation ordering problem
533+
// Call indirectly to solve generation ordering problem
534534
RuntimeAddress target(StubRoutines::verify_oop_subroutine_entry_address());
535535
relocate(target.rspec(), [&] {
536536
int32_t offset;
@@ -575,7 +575,7 @@ void MacroAssembler::_verify_oop_addr(Address addr, const char* s, const char* f
575575
movptr(t0, (address) b);
576576
}
577577

578-
// call indirectly to solve generation ordering problem
578+
// Call indirectly to solve generation ordering problem
579579
RuntimeAddress target(StubRoutines::verify_oop_subroutine_entry_address());
580580
relocate(target.rspec(), [&] {
581581
int32_t offset;
@@ -2570,14 +2570,14 @@ void MacroAssembler::bang_stack_size(Register size, Register tmp) {
25702570
}
25712571

25722572
SkipIfEqual::SkipIfEqual(MacroAssembler* masm, const bool* flag_addr, bool value) {
2573-
int32_t offset = 0;
25742573
_masm = masm;
25752574
ExternalAddress target((address)flag_addr);
25762575
_masm->relocate(target.rspec(), [&] {
25772576
int32_t offset;
25782577
_masm->la(t0, target.target(), offset);
25792578
_masm->lbu(t0, Address(t0, offset));
25802579
});
2580+
25812581
if (value) {
25822582
_masm->bnez(t0, _label);
25832583
} else {
@@ -4210,7 +4210,7 @@ void MacroAssembler::read_polling_page(Register r, int32_t offset, relocInfo::re
42104210
});
42114211
}
42124212

4213-
void MacroAssembler::set_narrow_oop(Register dst, jobject obj) {
4213+
void MacroAssembler::set_narrow_oop(Register dst, jobject obj) {
42144214
#ifdef ASSERT
42154215
{
42164216
ThreadInVMfromUnknown tiv;
@@ -4511,14 +4511,15 @@ void MacroAssembler::decrementw(const Address dst, int32_t value, Register tmp1,
45114511
sw(tmp1, adr);
45124512
}
45134513

4514-
void MacroAssembler::cmpptr(Register src1, Address src2, Label& equal) {
4515-
assert_different_registers(src1, t0);
4514+
void MacroAssembler::cmpptr(Register src1, const Address &src2, Label& equal, Register tmp) {
4515+
assert_different_registers(src1, tmp);
4516+
assert(src2.getMode() == Address::literal, "must be applied to a literal address");
45164517
relocate(src2.rspec(), [&] {
45174518
int32_t offset;
4518-
la(t0, src2.target(), offset);
4519-
ld(t0, Address(t0, offset));
4519+
la(tmp, src2.target(), offset);
4520+
ld(tmp, Address(tmp, offset));
45204521
});
4521-
beq(src1, t0, equal);
4522+
beq(src1, tmp, equal);
45224523
}
45234524

45244525
void MacroAssembler::load_method_holder_cld(Register result, Register method) {

src/hotspot/cpu/riscv/macroAssembler_riscv.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1327,7 +1327,7 @@ class MacroAssembler: public Assembler {
13271327
void decrement(const Address dst, int64_t value = 1, Register tmp1 = t0, Register tmp2 = t1);
13281328
void decrementw(const Address dst, int32_t value = 1, Register tmp1 = t0, Register tmp2 = t1);
13291329

1330-
void cmpptr(Register src1, Address src2, Label& equal);
1330+
void cmpptr(Register src1, const Address &src2, Label& equal, Register tmp = t0);
13311331

13321332
void clinit_barrier(Register klass, Register tmp, Label* L_fast_path = nullptr, Label* L_slow_path = nullptr);
13331333
void load_method_holder_cld(Register result, Register method);

src/hotspot/cpu/riscv/templateTable_riscv.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2465,7 +2465,7 @@ void TemplateTable::jvmti_post_field_access(Register cache, Register index,
24652465
// take the time to call into the VM.
24662466
Label L1;
24672467
assert_different_registers(cache, index, x10);
2468-
ExternalAddress target((address) JvmtiExport::get_field_access_count_addr());
2468+
ExternalAddress target(JvmtiExport::get_field_access_count_addr());
24692469
__ relocate(target.rspec(), [&] {
24702470
int32_t offset;
24712471
__ la(t0, target.target(), offset);
@@ -2676,7 +2676,7 @@ void TemplateTable::jvmti_post_field_mod(Register cache, Register index, bool is
26762676
// we take the time to call into the VM.
26772677
Label L1;
26782678
assert_different_registers(cache, index, x10);
2679-
ExternalAddress target((address)JvmtiExport::get_field_modification_count_addr());
2679+
ExternalAddress target(JvmtiExport::get_field_modification_count_addr());
26802680
__ relocate(target.rspec(), [&] {
26812681
int32_t offset;
26822682
__ la(t0, target.target(), offset);
@@ -2969,7 +2969,7 @@ void TemplateTable::jvmti_post_fast_field_mod() {
29692969
// Check to see if a field modification watch has been set before
29702970
// we take the time to call into the VM.
29712971
Label L2;
2972-
ExternalAddress target((address)JvmtiExport::get_field_modification_count_addr());
2972+
ExternalAddress target(JvmtiExport::get_field_modification_count_addr());
29732973
__ relocate(target.rspec(), [&] {
29742974
int32_t offset;
29752975
__ la(t0, target.target(), offset);
@@ -3101,7 +3101,7 @@ void TemplateTable::fast_accessfield(TosState state) {
31013101
// Check to see if a field access watch has been set before we
31023102
// take the time to call into the VM.
31033103
Label L1;
3104-
ExternalAddress target((address)JvmtiExport::get_field_access_count_addr());
3104+
ExternalAddress target(JvmtiExport::get_field_access_count_addr());
31053105
__ relocate(target.rspec(), [&] {
31063106
int32_t offset;
31073107
__ la(t0, target.target(), offset);

0 commit comments

Comments
 (0)