1637 void call_VM(Register oop_result, 1638 Register last_java_sp, 1639 address entry_point, 1640 Register arg_1, Register arg_2, 1641 bool check_exceptions = true); 1642 void call_VM(Register oop_result, 1643 Register last_java_sp, 1644 address entry_point, 1645 Register arg_1, Register arg_2, Register arg_3, 1646 bool check_exceptions = true); 1647 1648 void call_VM_leaf(address entry_point, 1649 int number_of_arguments = 0); 1650 void call_VM_leaf(address entry_point, 1651 Register arg_1); 1652 void call_VM_leaf(address entry_point, 1653 Register arg_1, Register arg_2); 1654 void call_VM_leaf(address entry_point, 1655 Register arg_1, Register arg_2, Register arg_3); 1656 1657 // last Java Frame (fills frame anchor) 1658 void set_last_Java_frame(Register thread, 1659 Register last_java_sp, 1660 Register last_java_fp, 1661 address last_java_pc); 1662 1663 // thread in the default location (r15_thread on 64bit) 1664 void set_last_Java_frame(Register last_java_sp, 1665 Register last_java_fp, 1666 address last_java_pc); 1667 1668 void reset_last_Java_frame(Register thread, bool clear_fp, bool clear_pc); 1669 1670 // thread in the default location (r15_thread on 64bit) 1671 void reset_last_Java_frame(bool clear_fp, bool clear_pc); 1672 1673 // Stores 1674 void store_check(Register obj); // store check for obj - register is destroyed afterwards 1675 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed) 1676 | 1637 void call_VM(Register oop_result, 1638 Register last_java_sp, 1639 address entry_point, 1640 Register arg_1, Register arg_2, 1641 bool check_exceptions = true); 1642 void call_VM(Register oop_result, 1643 Register last_java_sp, 1644 address entry_point, 1645 Register arg_1, Register arg_2, Register arg_3, 1646 bool check_exceptions = true); 1647 1648 void call_VM_leaf(address entry_point, 1649 int number_of_arguments = 0); 1650 void call_VM_leaf(address entry_point, 1651 Register arg_1); 1652 void call_VM_leaf(address entry_point, 1653 Register arg_1, Register arg_2); 1654 void call_VM_leaf(address entry_point, 1655 Register arg_1, Register arg_2, Register arg_3); 1656 1657 // These always tightly bind to MacroAssembler::call_VM_leaf_base 1658 // bypassing the virtual implementation 1659 void super_call_VM_leaf(address entry_point); 1660 void super_call_VM_leaf(address entry_point, Register arg_1); 1661 void super_call_VM_leaf(address entry_point, Register arg_1, Register arg_2); 1662 void super_call_VM_leaf(address entry_point, Register arg_1, Register arg_2, Register arg_3); 1663 void super_call_VM_leaf(address entry_point, Register arg_1, Register arg_2, Register arg_3, Register arg_4); 1664 1665 // last Java Frame (fills frame anchor) 1666 void set_last_Java_frame(Register thread, 1667 Register last_java_sp, 1668 Register last_java_fp, 1669 address last_java_pc); 1670 1671 // thread in the default location (r15_thread on 64bit) 1672 void set_last_Java_frame(Register last_java_sp, 1673 Register last_java_fp, 1674 address last_java_pc); 1675 1676 void reset_last_Java_frame(Register thread, bool clear_fp, bool clear_pc); 1677 1678 // thread in the default location (r15_thread on 64bit) 1679 void reset_last_Java_frame(bool clear_fp, bool clear_pc); 1680 1681 // Stores 1682 void store_check(Register obj); // store check for obj - register is destroyed afterwards 1683 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed) 1684 |