< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page

 347   void resolve_global_jobject(Register value, Register thread, Register tmp);
 348 
 349   // C 'boolean' to Java boolean: x == 0 ? 0 : 1
 350   void c2bool(Register x);
 351 
 352   // C++ bool manipulation
 353 
 354   void movbool(Register dst, Address src);
 355   void movbool(Address dst, bool boolconst);
 356   void movbool(Address dst, Register src);
 357   void testbool(Register dst);
 358 
 359   void resolve_oop_handle(Register result, Register tmp);
 360   void resolve_weak_handle(Register result, Register tmp);
 361   void load_mirror(Register mirror, Register method, Register tmp);
 362   void load_method_holder_cld(Register rresult, Register rmethod);
 363 
 364   void load_method_holder(Register holder, Register method);
 365 
 366   // oop manipulations



 367   void load_klass(Register dst, Register src, Register tmp);
 368   void store_klass(Register dst, Register src, Register tmp);
 369 








 370   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 371                       Register tmp1, Register thread_tmp);
 372   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register val,
 373                        Register tmp1, Register tmp2, Register tmp3);
 374 
 375   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 376                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 377   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 378                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 379   void store_heap_oop(Address dst, Register val, Register tmp1 = noreg,
 380                       Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
 381 
 382   // Used for storing null. All other oop constants should be
 383   // stored using routines that take a jobject.
 384   void store_heap_oop_null(Address dst);
 385 
 386 #ifdef _LP64
 387   void store_klass_gap(Register dst, Register src);
 388 
 389   // This dummy is to prevent a call to store_heap_oop from

 347   void resolve_global_jobject(Register value, Register thread, Register tmp);
 348 
 349   // C 'boolean' to Java boolean: x == 0 ? 0 : 1
 350   void c2bool(Register x);
 351 
 352   // C++ bool manipulation
 353 
 354   void movbool(Register dst, Address src);
 355   void movbool(Address dst, bool boolconst);
 356   void movbool(Address dst, Register src);
 357   void testbool(Register dst);
 358 
 359   void resolve_oop_handle(Register result, Register tmp);
 360   void resolve_weak_handle(Register result, Register tmp);
 361   void load_mirror(Register mirror, Register method, Register tmp);
 362   void load_method_holder_cld(Register rresult, Register rmethod);
 363 
 364   void load_method_holder(Register holder, Register method);
 365 
 366   // oop manipulations
 367 #ifdef _LP64
 368   void load_nklass_compact(Register dst, Register src);
 369 #endif
 370   void load_klass(Register dst, Register src, Register tmp);
 371   void store_klass(Register dst, Register src, Register tmp);
 372 
 373   // Compares the Klass pointer of an object to a given Klass (which might be narrow,
 374   // depending on UseCompressedClassPointers).
 375   void cmp_klass(Register klass, Register dst, Register tmp);
 376 
 377   // Compares the Klass pointer of two objects o1 and o2. Result is in the condition flags.
 378   // Uses t1 and t2 as temporary registers.
 379   void cmp_klass(Register src, Register dst, Register tmp1, Register tmp2);
 380 
 381   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 382                       Register tmp1, Register thread_tmp);
 383   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register val,
 384                        Register tmp1, Register tmp2, Register tmp3);
 385 
 386   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 387                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 388   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 389                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 390   void store_heap_oop(Address dst, Register val, Register tmp1 = noreg,
 391                       Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
 392 
 393   // Used for storing null. All other oop constants should be
 394   // stored using routines that take a jobject.
 395   void store_heap_oop_null(Address dst);
 396 
 397 #ifdef _LP64
 398   void store_klass_gap(Register dst, Register src);
 399 
 400   // This dummy is to prevent a call to store_heap_oop from
< prev index next >