comparison src/cpu/x86/vm/assembler_x86.cpp @ 3336:2e038ad0c1d0

7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp Reviewed-by: kvn, twisti
author never
date Mon, 02 May 2011 18:53:37 -0700
parents 732454aaf5cb
children f7d55ea6ee56
comparison
equal deleted inserted replaced
3335:49d67a090fe2 3336:2e038ad0c1d0
6037 pass_arg1(this, arg_1); 6037 pass_arg1(this, arg_1);
6038 pass_arg0(this, arg_0); 6038 pass_arg0(this, arg_0);
6039 call_VM_leaf(entry_point, 3); 6039 call_VM_leaf(entry_point, 3);
6040 } 6040 }
6041 6041
6042 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0) {
6043 pass_arg0(this, arg_0);
6044 MacroAssembler::call_VM_leaf_base(entry_point, 1);
6045 }
6046
6047 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
6048
6049 LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
6050 pass_arg1(this, arg_1);
6051 pass_arg0(this, arg_0);
6052 MacroAssembler::call_VM_leaf_base(entry_point, 2);
6053 }
6054
6055 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
6056 LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
6057 LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
6058 pass_arg2(this, arg_2);
6059 LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
6060 pass_arg1(this, arg_1);
6061 pass_arg0(this, arg_0);
6062 MacroAssembler::call_VM_leaf_base(entry_point, 3);
6063 }
6064
6065 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2, Register arg_3) {
6066 LP64_ONLY(assert(arg_0 != c_rarg3, "smashed arg"));
6067 LP64_ONLY(assert(arg_1 != c_rarg3, "smashed arg"));
6068 LP64_ONLY(assert(arg_2 != c_rarg3, "smashed arg"));
6069 pass_arg3(this, arg_3);
6070 LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
6071 LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
6072 pass_arg2(this, arg_2);
6073 LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
6074 pass_arg1(this, arg_1);
6075 pass_arg0(this, arg_0);
6076 MacroAssembler::call_VM_leaf_base(entry_point, 4);
6077 }
6078
6042 void MacroAssembler::check_and_handle_earlyret(Register java_thread) { 6079 void MacroAssembler::check_and_handle_earlyret(Register java_thread) {
6043 } 6080 }
6044 6081
6045 void MacroAssembler::check_and_handle_popframe(Register java_thread) { 6082 void MacroAssembler::check_and_handle_popframe(Register java_thread) {
6046 } 6083 }