< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page
rev 50904 : 8205523: Explicit barriers for interpreter
rev 50905 : [mq]: JDK-8205523-01-x86.patch


 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 access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 793                       Register tmp1, Register tmp_thread);
 794 
 795   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 796                        Register tmp1, Register tmp_thread);
 797 




 798   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 799                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 800 
 801   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 802                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 803   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 804                       Register tmp_thread = noreg, DecoratorSet decorators = 0);
 805 
 806   // currently unimplemented
 807   // Used for storing NULL. All other oop constants should be
 808   // stored using routines that take a jobject.
 809   void store_heap_oop_null(Address dst);
 810 
 811   void load_prototype_header(Register dst, Register src);
 812 
 813   void store_klass_gap(Register dst, Register src);
 814 
 815   // This dummy is to prevent a call to store_heap_oop from
 816   // converting a zero (like NULL) into a Register by giving
 817   // the compiler two choices it can't resolve




 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 access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 793                       Register tmp1, Register tmp_thread);
 794 
 795   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 796                        Register tmp1, Register tmp_thread);
 797 
 798   // Resolves obj for access. Result is placed in the same register.
 799   // All other registers are preserved.
 800   void resolve(DecoratorSet decorators, Register obj);
 801 
 802   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 803                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 804 
 805   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 806                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 807   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 808                       Register tmp_thread = noreg, DecoratorSet decorators = 0);
 809 
 810   // currently unimplemented
 811   // Used for storing NULL. All other oop constants should be
 812   // stored using routines that take a jobject.
 813   void store_heap_oop_null(Address dst);
 814 
 815   void load_prototype_header(Register dst, Register src);
 816 
 817   void store_klass_gap(Register dst, Register src);
 818 
 819   // This dummy is to prevent a call to store_heap_oop from
 820   // converting a zero (like NULL) into a Register by giving
 821   // the compiler two choices it can't resolve


< prev index next >