mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +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
|
@ -6039,6 +6039,43 @@ void MacroAssembler::call_VM_leaf(address entry_point, Register arg_0, Register
|
|||
call_VM_leaf(entry_point, 3);
|
||||
}
|
||||
|
||||
void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0) {
|
||||
pass_arg0(this, arg_0);
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 1);
|
||||
}
|
||||
|
||||
void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
|
||||
|
||||
LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
|
||||
pass_arg1(this, arg_1);
|
||||
pass_arg0(this, arg_0);
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 2);
|
||||
}
|
||||
|
||||
void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
|
||||
LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
|
||||
LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
|
||||
pass_arg2(this, arg_2);
|
||||
LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
|
||||
pass_arg1(this, arg_1);
|
||||
pass_arg0(this, arg_0);
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 3);
|
||||
}
|
||||
|
||||
void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2, Register arg_3) {
|
||||
LP64_ONLY(assert(arg_0 != c_rarg3, "smashed arg"));
|
||||
LP64_ONLY(assert(arg_1 != c_rarg3, "smashed arg"));
|
||||
LP64_ONLY(assert(arg_2 != c_rarg3, "smashed arg"));
|
||||
pass_arg3(this, arg_3);
|
||||
LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
|
||||
LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
|
||||
pass_arg2(this, arg_2);
|
||||
LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
|
||||
pass_arg1(this, arg_1);
|
||||
pass_arg0(this, arg_0);
|
||||
MacroAssembler::call_VM_leaf_base(entry_point, 4);
|
||||
}
|
||||
|
||||
void MacroAssembler::check_and_handle_earlyret(Register java_thread) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue