764 Register last_java_fp, 765 Label &last_java_pc, 766 Register scratch); 767 768 void set_last_Java_frame(Register last_java_sp, 769 Register last_java_fp, 770 Register last_java_pc, 771 Register scratch); 772 773 void reset_last_Java_frame(Register thread); 774 775 // thread in the default location (rthread) 776 void reset_last_Java_frame(bool clear_fp); 777 778 // Stores 779 void store_check(Register obj); // store check for obj - register is destroyed afterwards 780 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed) 781 782 void resolve_jobject(Register value, Register thread, Register tmp); 783 784 #if INCLUDE_ALL_GCS 785 786 void g1_write_barrier_pre(Register obj, 787 Register pre_val, 788 Register thread, 789 Register tmp, 790 bool tosca_live, 791 bool expand_call); 792 793 void g1_write_barrier_post(Register store_addr, 794 Register new_val, 795 Register thread, 796 Register tmp, 797 Register tmp2); 798 799 #endif // INCLUDE_ALL_GCS 800 801 // oop manipulations 802 void load_klass(Register dst, Register src); 803 void store_klass(Register dst, Register src); 804 void cmp_klass(Register oop, Register trial_klass, Register tmp); 805 806 void resolve_oop_handle(Register result, Register tmp = r5); 807 void load_mirror(Register dst, Register method, Register tmp = r5); 808 809 void load_heap_oop(Register dst, Address src); 810 811 void load_heap_oop_not_null(Register dst, Address src); 812 void store_heap_oop(Address dst, Register src); 813 814 // currently unimplemented 815 // Used for storing NULL. All other oop constants should be 816 // stored using routines that take a jobject. 817 void store_heap_oop_null(Address dst); 818 819 void load_prototype_header(Register dst, Register src); 820 | 764 Register last_java_fp, 765 Label &last_java_pc, 766 Register scratch); 767 768 void set_last_Java_frame(Register last_java_sp, 769 Register last_java_fp, 770 Register last_java_pc, 771 Register scratch); 772 773 void reset_last_Java_frame(Register thread); 774 775 // thread in the default location (rthread) 776 void reset_last_Java_frame(bool clear_fp); 777 778 // Stores 779 void store_check(Register obj); // store check for obj - register is destroyed afterwards 780 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed) 781 782 void resolve_jobject(Register value, Register thread, Register tmp); 783 784 // oop manipulations 785 void load_klass(Register dst, Register src); 786 void store_klass(Register dst, Register src); 787 void cmp_klass(Register oop, Register trial_klass, Register tmp); 788 789 void resolve_oop_handle(Register result, Register tmp = r5); 790 void load_mirror(Register dst, Register method, Register tmp = r5); 791 792 void load_heap_oop(Register dst, Address src); 793 794 void load_heap_oop_not_null(Register dst, Address src); 795 void store_heap_oop(Address dst, Register src); 796 797 // currently unimplemented 798 // Used for storing NULL. All other oop constants should be 799 // stored using routines that take a jobject. 800 void store_heap_oop_null(Address dst); 801 802 void load_prototype_header(Register dst, Register src); 803 |