< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

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


 302 
 303   // C++ bool manipulation
 304 
 305   void movbool(Register dst, Address src);
 306   void movbool(Address dst, bool boolconst);
 307   void movbool(Address dst, Register src);
 308   void testbool(Register dst);
 309 
 310   void resolve_oop_handle(Register result, Register tmp = rscratch2);
 311   void load_mirror(Register mirror, Register method, Register tmp = rscratch2);
 312 
 313   // oop manipulations
 314   void load_klass(Register dst, Register src);
 315   void store_klass(Register dst, Register src);
 316 
 317   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 318                       Register tmp1, Register thread_tmp);
 319   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 320                        Register tmp1, Register tmp2);
 321 
 322   // Resolves obj for read access. Result is placed in the same register.
 323   // All other registers are preserved.
 324   void resolve_for_read(DecoratorSet decorators, Register obj);
 325 
 326   // Resolves obj for write access. Result is placed in the same register.
 327   // All other registers are preserved.
 328   void resolve_for_write(DecoratorSet decorators, Register obj);
 329 
 330   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 331                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 332   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 333                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 334   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 335                       Register tmp2 = noreg, DecoratorSet decorators = 0);
 336 
 337   // Used for storing NULL. All other oop constants should be
 338   // stored using routines that take a jobject.
 339   void store_heap_oop_null(Address dst);
 340 
 341   void load_prototype_header(Register dst, Register src);
 342 
 343 #ifdef _LP64
 344   void store_klass_gap(Register dst, Register src);
 345 
 346   // This dummy is to prevent a call to store_heap_oop from
 347   // converting a zero (like NULL) into a Register by giving
 348   // the compiler two choices it can't resolve




 302 
 303   // C++ bool manipulation
 304 
 305   void movbool(Register dst, Address src);
 306   void movbool(Address dst, bool boolconst);
 307   void movbool(Address dst, Register src);
 308   void testbool(Register dst);
 309 
 310   void resolve_oop_handle(Register result, Register tmp = rscratch2);
 311   void load_mirror(Register mirror, Register method, Register tmp = rscratch2);
 312 
 313   // oop manipulations
 314   void load_klass(Register dst, Register src);
 315   void store_klass(Register dst, Register src);
 316 
 317   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 318                       Register tmp1, Register thread_tmp);
 319   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 320                        Register tmp1, Register tmp2);
 321 
 322   // Resolves obj access. Result is placed in the same register.
 323   // All other registers are preserved.
 324   void resolve(DecoratorSet decorators, Register obj);




 325 
 326   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 327                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 328   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 329                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 330   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 331                       Register tmp2 = noreg, DecoratorSet decorators = 0);
 332 
 333   // Used for storing NULL. All other oop constants should be
 334   // stored using routines that take a jobject.
 335   void store_heap_oop_null(Address dst);
 336 
 337   void load_prototype_header(Register dst, Register src);
 338 
 339 #ifdef _LP64
 340   void store_klass_gap(Register dst, Register src);
 341 
 342   // This dummy is to prevent a call to store_heap_oop from
 343   // converting a zero (like NULL) into a Register by giving
 344   // the compiler two choices it can't resolve


< prev index next >