< prev index next >

src/cpu/x86/vm/macroAssembler_x86.cpp

Print this page




2599 }
2600 
2601 void MacroAssembler::call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
2602 
2603   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2604   pass_arg1(this, arg_1);
2605   pass_arg0(this, arg_0);
2606   call_VM_leaf(entry_point, 2);
2607 }
2608 
2609 void MacroAssembler::call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
2610   LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
2611   LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
2612   pass_arg2(this, arg_2);
2613   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2614   pass_arg1(this, arg_1);
2615   pass_arg0(this, arg_0);
2616   call_VM_leaf(entry_point, 3);
2617 }
2618 




2619 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0) {
2620   pass_arg0(this, arg_0);
2621   MacroAssembler::call_VM_leaf_base(entry_point, 1);
2622 }
2623 
2624 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
2625 
2626   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2627   pass_arg1(this, arg_1);
2628   pass_arg0(this, arg_0);
2629   MacroAssembler::call_VM_leaf_base(entry_point, 2);
2630 }
2631 
2632 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
2633   LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
2634   LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
2635   pass_arg2(this, arg_2);
2636   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2637   pass_arg1(this, arg_1);
2638   pass_arg0(this, arg_0);




2599 }
2600 
2601 void MacroAssembler::call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
2602 
2603   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2604   pass_arg1(this, arg_1);
2605   pass_arg0(this, arg_0);
2606   call_VM_leaf(entry_point, 2);
2607 }
2608 
2609 void MacroAssembler::call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
2610   LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
2611   LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
2612   pass_arg2(this, arg_2);
2613   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2614   pass_arg1(this, arg_1);
2615   pass_arg0(this, arg_0);
2616   call_VM_leaf(entry_point, 3);
2617 }
2618 
2619 void MacroAssembler::super_call_VM_leaf(address entry_point) {
2620   MacroAssembler::call_VM_leaf_base(entry_point, 1);
2621 }
2622 
2623 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0) {
2624   pass_arg0(this, arg_0);
2625   MacroAssembler::call_VM_leaf_base(entry_point, 1);
2626 }
2627 
2628 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1) {
2629 
2630   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2631   pass_arg1(this, arg_1);
2632   pass_arg0(this, arg_0);
2633   MacroAssembler::call_VM_leaf_base(entry_point, 2);
2634 }
2635 
2636 void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Register arg_1, Register arg_2) {
2637   LP64_ONLY(assert(arg_0 != c_rarg2, "smashed arg"));
2638   LP64_ONLY(assert(arg_1 != c_rarg2, "smashed arg"));
2639   pass_arg2(this, arg_2);
2640   LP64_ONLY(assert(arg_0 != c_rarg1, "smashed arg"));
2641   pass_arg1(this, arg_1);
2642   pass_arg0(this, arg_0);


< prev index next >