< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page




 342   void load_method_holder_cld(Register rresult, Register rmethod);
 343 
 344   void load_method_holder(Register holder, Register method);
 345 
 346   // oop manipulations
 347   void load_metadata(Register dst, Register src);
 348   void load_storage_props(Register dst, Register src);
 349   void load_klass(Register dst, Register src);
 350   void store_klass(Register dst, Register src);
 351 
 352   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 353                       Register tmp1, Register thread_tmp);
 354   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 355                        Register tmp1, Register tmp2, Register tmp3 = noreg);
 356 
 357   void access_value_copy(DecoratorSet decorators, Register src, Register dst, Register value_klass);
 358 
 359   // value type data payload offsets...
 360   void first_field_offset(Register value_klass, Register offset);
 361   void data_for_oop(Register oop, Register data, Register value_klass);



 362 
 363 
 364   // Resolves obj access. Result is placed in the same register.
 365   // All other registers are preserved.
 366   void resolve(DecoratorSet decorators, Register obj);
 367 
 368   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 369                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 370   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 371                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 372   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 373                       Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
 374 
 375   // Used for storing NULL. All other oop constants should be
 376   // stored using routines that take a jobject.
 377   void store_heap_oop_null(Address dst);
 378 
 379   void load_prototype_header(Register dst, Register src);
 380 
 381 #ifdef _LP64




 342   void load_method_holder_cld(Register rresult, Register rmethod);
 343 
 344   void load_method_holder(Register holder, Register method);
 345 
 346   // oop manipulations
 347   void load_metadata(Register dst, Register src);
 348   void load_storage_props(Register dst, Register src);
 349   void load_klass(Register dst, Register src);
 350   void store_klass(Register dst, Register src);
 351 
 352   void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
 353                       Register tmp1, Register thread_tmp);
 354   void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
 355                        Register tmp1, Register tmp2, Register tmp3 = noreg);
 356 
 357   void access_value_copy(DecoratorSet decorators, Register src, Register dst, Register value_klass);
 358 
 359   // value type data payload offsets...
 360   void first_field_offset(Register value_klass, Register offset);
 361   void data_for_oop(Register oop, Register data, Register value_klass);
 362   // get data payload ptr a flat value array at index, kills rcx and index
 363   void data_for_value_array_index(Register array, Register array_klass,
 364                                   Register index, Register data);
 365 
 366 
 367   // Resolves obj access. Result is placed in the same register.
 368   // All other registers are preserved.
 369   void resolve(DecoratorSet decorators, Register obj);
 370 
 371   void load_heap_oop(Register dst, Address src, Register tmp1 = noreg,
 372                      Register thread_tmp = noreg, DecoratorSet decorators = 0);
 373   void load_heap_oop_not_null(Register dst, Address src, Register tmp1 = noreg,
 374                               Register thread_tmp = noreg, DecoratorSet decorators = 0);
 375   void store_heap_oop(Address dst, Register src, Register tmp1 = noreg,
 376                       Register tmp2 = noreg, Register tmp3 = noreg, DecoratorSet decorators = 0);
 377 
 378   // Used for storing NULL. All other oop constants should be
 379   // stored using routines that take a jobject.
 380   void store_heap_oop_null(Address dst);
 381 
 382   void load_prototype_header(Register dst, Register src);
 383 
 384 #ifdef _LP64


< prev index next >