769
770 #if INCLUDE_ALL_GCS
771
772 void g1_write_barrier_pre(Register obj,
773 Register pre_val,
774 Register thread,
775 Register tmp,
776 bool tosca_live,
777 bool expand_call);
778
779 void g1_write_barrier_post(Register store_addr,
780 Register new_val,
781 Register thread,
782 Register tmp,
783 Register tmp2);
784
785 #endif // INCLUDE_ALL_GCS
786
787 // oop manipulations
788 void load_klass(Register dst, Register src);
789 void store_klass(Register dst, Register src);
790 void cmp_klass(Register oop, Register trial_klass, Register tmp);
791
792 void load_mirror(Register dst, Register method);
793
794 void load_heap_oop(Register dst, Address src);
795
796 void load_heap_oop_not_null(Register dst, Address src);
797 void store_heap_oop(Address dst, Register src);
798
799 // currently unimplemented
800 // Used for storing NULL. All other oop constants should be
801 // stored using routines that take a jobject.
802 void store_heap_oop_null(Address dst);
803
804 void load_prototype_header(Register dst, Register src);
805
806 void store_klass_gap(Register dst, Register src);
807
808 // This dummy is to prevent a call to store_heap_oop from
809 // converting a zero (like NULL) into a Register by giving
|
769
770 #if INCLUDE_ALL_GCS
771
772 void g1_write_barrier_pre(Register obj,
773 Register pre_val,
774 Register thread,
775 Register tmp,
776 bool tosca_live,
777 bool expand_call);
778
779 void g1_write_barrier_post(Register store_addr,
780 Register new_val,
781 Register thread,
782 Register tmp,
783 Register tmp2);
784
785 #endif // INCLUDE_ALL_GCS
786
787 // oop manipulations
788 void load_klass(Register dst, Register src);
789 void store_klass(Register dst, Register src, Register tmp);
790 void cmp_klass(Register oop, Register trial_klass, Register tmp);
791
792 void load_mirror(Register dst, Register method);
793
794 void load_heap_oop(Register dst, Address src);
795
796 void load_heap_oop_not_null(Register dst, Address src);
797 void store_heap_oop(Address dst, Register src);
798
799 // currently unimplemented
800 // Used for storing NULL. All other oop constants should be
801 // stored using routines that take a jobject.
802 void store_heap_oop_null(Address dst);
803
804 void load_prototype_header(Register dst, Register src);
805
806 void store_klass_gap(Register dst, Register src);
807
808 // This dummy is to prevent a call to store_heap_oop from
809 // converting a zero (like NULL) into a Register by giving
|