8202640: Small C1 cleanups for BarrierSetC1
Reviewed-by: kvn, neliasso
This commit is contained in:
parent
19f0e3f5d7
commit
e6bccc9d86
@ -236,12 +236,12 @@ void C1_MacroAssembler::restore_live_registers(bool restore_fpu_registers) {
|
||||
#define __ sasm->
|
||||
|
||||
static OopMap* save_live_registers(StubAssembler* sasm, bool save_fpu_registers = true) {
|
||||
sasm->save_live_registers_no_oop_map(save_fpu_registers);
|
||||
__ save_live_registers_no_oop_map(save_fpu_registers);
|
||||
return generate_oop_map(sasm, save_fpu_registers);
|
||||
}
|
||||
|
||||
static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||
sasm->restore_live_registers(restore_fpu_registers);
|
||||
__ restore_live_registers(restore_fpu_registers);
|
||||
}
|
||||
|
||||
|
||||
|
@ -123,7 +123,8 @@
|
||||
|
||||
void load_parameter(int offset_in_words, Register reg);
|
||||
|
||||
void save_live_registers_no_oop_map(int num_rt_args, bool save_fpu_registers);
|
||||
void save_live_registers_no_oop_map(bool save_fpu_registers);
|
||||
void restore_live_registers_except_rax(bool restore_fpu_registers);
|
||||
void restore_live_registers(bool restore_fpu_registers);
|
||||
|
||||
#endif // CPU_X86_VM_C1_MACROASSEMBLER_X86_HPP
|
||||
|
@ -411,7 +411,7 @@ static OopMap* generate_oop_map(StubAssembler* sasm, int num_rt_args,
|
||||
|
||||
#define __ this->
|
||||
|
||||
void C1_MacroAssembler::save_live_registers_no_oop_map(int num_rt_args, bool save_fpu_registers) {
|
||||
void C1_MacroAssembler::save_live_registers_no_oop_map(bool save_fpu_registers) {
|
||||
__ block_comment("save_live_registers");
|
||||
|
||||
__ pusha(); // integer registers
|
||||
@ -551,23 +551,11 @@ void C1_MacroAssembler::restore_live_registers(bool restore_fpu_registers) {
|
||||
__ popa();
|
||||
}
|
||||
|
||||
#undef __
|
||||
#define __ sasm->
|
||||
|
||||
static OopMap* save_live_registers(StubAssembler* sasm, int num_rt_args,
|
||||
bool save_fpu_registers = true) {
|
||||
sasm->save_live_registers_no_oop_map(num_rt_args, save_fpu_registers);
|
||||
return generate_oop_map(sasm, num_rt_args, save_fpu_registers);
|
||||
}
|
||||
|
||||
static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||
sasm->restore_live_registers(restore_fpu_registers);
|
||||
}
|
||||
|
||||
static void restore_live_registers_except_rax(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||
void C1_MacroAssembler::restore_live_registers_except_rax(bool restore_fpu_registers) {
|
||||
__ block_comment("restore_live_registers_except_rax");
|
||||
|
||||
restore_fpu(sasm, restore_fpu_registers);
|
||||
restore_fpu(this, restore_fpu_registers);
|
||||
|
||||
#ifdef _LP64
|
||||
__ movptr(r15, Address(rsp, 0));
|
||||
@ -600,6 +588,23 @@ static void restore_live_registers_except_rax(StubAssembler* sasm, bool restore_
|
||||
#endif // _LP64
|
||||
}
|
||||
|
||||
#undef __
|
||||
#define __ sasm->
|
||||
|
||||
static OopMap* save_live_registers(StubAssembler* sasm, int num_rt_args,
|
||||
bool save_fpu_registers = true) {
|
||||
__ save_live_registers_no_oop_map(save_fpu_registers);
|
||||
return generate_oop_map(sasm, num_rt_args, save_fpu_registers);
|
||||
}
|
||||
|
||||
static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||
__ restore_live_registers(restore_fpu_registers);
|
||||
}
|
||||
|
||||
static void restore_live_registers_except_rax(StubAssembler* sasm, bool restore_fpu_registers = true) {
|
||||
sasm->restore_live_registers_except_rax(restore_fpu_registers);
|
||||
}
|
||||
|
||||
|
||||
void Runtime1::initialize_pd() {
|
||||
// nothing to do
|
||||
|
@ -496,7 +496,7 @@ void G1BarrierSetAssembler::generate_c1_pre_barrier_runtime_stub(StubAssembler*
|
||||
|
||||
__ bind(runtime);
|
||||
|
||||
__ save_live_registers_no_oop_map(3, true);
|
||||
__ save_live_registers_no_oop_map(true);
|
||||
|
||||
// load the pre-value
|
||||
__ load_parameter(0, rcx);
|
||||
@ -575,7 +575,7 @@ void G1BarrierSetAssembler::generate_c1_post_barrier_runtime_stub(StubAssembler*
|
||||
|
||||
__ bind(runtime);
|
||||
|
||||
__ save_live_registers_no_oop_map(3, true);
|
||||
__ save_live_registers_no_oop_map(true);
|
||||
|
||||
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), card_addr, thread);
|
||||
|
||||
|
@ -917,10 +917,13 @@ void LIR_OpVisitState::visit(LIR_Op* op) {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
ShouldNotReachHere();
|
||||
op->visit(this);
|
||||
}
|
||||
}
|
||||
|
||||
void LIR_Op::visit(LIR_OpVisitState* state) {
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
|
||||
void LIR_OpVisitState::do_stub(CodeStub* stub) {
|
||||
if (stub != NULL) {
|
||||
|
@ -1096,6 +1096,7 @@ class LIR_Op: public CompilationResourceObj {
|
||||
#endif
|
||||
|
||||
virtual const char * name() const PRODUCT_RETURN0;
|
||||
virtual void visit(LIR_OpVisitState* state);
|
||||
|
||||
int id() const { return _id; }
|
||||
void set_id(int id) { _id = id; }
|
||||
@ -1983,6 +1984,7 @@ class LIR_List: public CompilationResourceObj {
|
||||
int _line;
|
||||
#endif
|
||||
|
||||
public:
|
||||
void append(LIR_Op* op) {
|
||||
if (op->source() == NULL)
|
||||
op->set_source(_compilation->current_instruction());
|
||||
@ -2003,7 +2005,6 @@ class LIR_List: public CompilationResourceObj {
|
||||
#endif
|
||||
}
|
||||
|
||||
public:
|
||||
LIR_List(Compilation* compilation, BlockBegin* block = NULL);
|
||||
|
||||
#ifdef ASSERT
|
||||
|
Loading…
Reference in New Issue
Block a user