mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
This commit is contained in:
parent
dfc5561910
commit
33f0e50994
18 changed files with 387 additions and 172 deletions
|
@ -381,56 +381,6 @@ void InterpreterMacroAssembler::store_ptr(int n, Register val) {
|
|||
}
|
||||
|
||||
|
||||
void InterpreterMacroAssembler::super_call_VM_leaf(address entry_point) {
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 0);
|
||||
}
|
||||
|
||||
|
||||
void InterpreterMacroAssembler::super_call_VM_leaf(address entry_point,
|
||||
Register arg_1) {
|
||||
if (c_rarg0 != arg_1) {
|
||||
mov(c_rarg0, arg_1);
|
||||
}
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 1);
|
||||
}
|
||||
|
||||
|
||||
void InterpreterMacroAssembler::super_call_VM_leaf(address entry_point,
|
||||
Register arg_1,
|
||||
Register arg_2) {
|
||||
assert(c_rarg0 != arg_2, "smashed argument");
|
||||
assert(c_rarg1 != arg_1, "smashed argument");
|
||||
if (c_rarg0 != arg_1) {
|
||||
mov(c_rarg0, arg_1);
|
||||
}
|
||||
if (c_rarg1 != arg_2) {
|
||||
mov(c_rarg1, arg_2);
|
||||
}
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 2);
|
||||
}
|
||||
|
||||
void InterpreterMacroAssembler::super_call_VM_leaf(address entry_point,
|
||||
Register arg_1,
|
||||
Register arg_2,
|
||||
Register arg_3) {
|
||||
assert(c_rarg0 != arg_2, "smashed argument");
|
||||
assert(c_rarg0 != arg_3, "smashed argument");
|
||||
assert(c_rarg1 != arg_1, "smashed argument");
|
||||
assert(c_rarg1 != arg_3, "smashed argument");
|
||||
assert(c_rarg2 != arg_1, "smashed argument");
|
||||
assert(c_rarg2 != arg_2, "smashed argument");
|
||||
if (c_rarg0 != arg_1) {
|
||||
mov(c_rarg0, arg_1);
|
||||
}
|
||||
if (c_rarg1 != arg_2) {
|
||||
mov(c_rarg1, arg_2);
|
||||
}
|
||||
if (c_rarg2 != arg_3) {
|
||||
mov(c_rarg2, arg_3);
|
||||
}
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 3);
|
||||
}
|
||||
|
||||
void InterpreterMacroAssembler::prepare_to_jump_from_interpreted() {
|
||||
// set sender sp
|
||||
lea(r13, Address(rsp, wordSize));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue