< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.cpp

Print this page




5259   } else
5260 #endif
5261     movptr(dst, Address(src, oopDesc::klass_offset_in_bytes()));
5262 }
5263 
5264 void MacroAssembler::load_prototype_header(Register dst, Register src) {
5265   load_klass(dst, src);
5266   movptr(dst, Address(dst, Klass::prototype_header_offset()));
5267 }
5268 
5269 void MacroAssembler::store_klass(Register dst, Register src) {
5270 #ifdef _LP64
5271   if (UseCompressedClassPointers) {
5272     encode_klass_not_null(src);
5273     movl(Address(dst, oopDesc::klass_offset_in_bytes()), src);
5274   } else
5275 #endif
5276     movptr(Address(dst, oopDesc::klass_offset_in_bytes()), src);
5277 }
5278 










5279 void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
5280                                     Register tmp1, Register thread_tmp) {
5281   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5282   decorators = AccessInternal::decorator_fixup(decorators);
5283   bool as_raw = (decorators & AS_RAW) != 0;
5284   if (as_raw) {
5285     bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, thread_tmp);
5286   } else {
5287     bs->load_at(this, decorators, type, dst, src, tmp1, thread_tmp);
5288   }
5289 }
5290 
5291 void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
5292                                      Register tmp1, Register tmp2) {
5293   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5294   decorators = AccessInternal::decorator_fixup(decorators);
5295   bool as_raw = (decorators & AS_RAW) != 0;
5296   if (as_raw) {
5297     bs->BarrierSetAssembler::store_at(this, decorators, type, dst, src, tmp1, tmp2);
5298   } else {




5259   } else
5260 #endif
5261     movptr(dst, Address(src, oopDesc::klass_offset_in_bytes()));
5262 }
5263 
5264 void MacroAssembler::load_prototype_header(Register dst, Register src) {
5265   load_klass(dst, src);
5266   movptr(dst, Address(dst, Klass::prototype_header_offset()));
5267 }
5268 
5269 void MacroAssembler::store_klass(Register dst, Register src) {
5270 #ifdef _LP64
5271   if (UseCompressedClassPointers) {
5272     encode_klass_not_null(src);
5273     movl(Address(dst, oopDesc::klass_offset_in_bytes()), src);
5274   } else
5275 #endif
5276     movptr(Address(dst, oopDesc::klass_offset_in_bytes()), src);
5277 }
5278 
5279 void MacroAssembler::resolve_for_read(DecoratorSet decorators, Register obj) {
5280   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5281   bs->resolve_for_read(this, decorators, obj);
5282 }
5283 
5284 void MacroAssembler::resolve_for_write(DecoratorSet decorators, Register obj) {
5285   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5286   bs->resolve_for_write(this, decorators, obj);
5287 }
5288 
5289 void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
5290                                     Register tmp1, Register thread_tmp) {
5291   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5292   decorators = AccessInternal::decorator_fixup(decorators);
5293   bool as_raw = (decorators & AS_RAW) != 0;
5294   if (as_raw) {
5295     bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, thread_tmp);
5296   } else {
5297     bs->load_at(this, decorators, type, dst, src, tmp1, thread_tmp);
5298   }
5299 }
5300 
5301 void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register src,
5302                                      Register tmp1, Register tmp2) {
5303   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
5304   decorators = AccessInternal::decorator_fixup(decorators);
5305   bool as_raw = (decorators & AS_RAW) != 0;
5306   if (as_raw) {
5307     bs->BarrierSetAssembler::store_at(this, decorators, type, dst, src, tmp1, tmp2);
5308   } else {


< prev index next >