src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

Print this page




3696     ShouldNotReachHere();
3697   }
3698 }
3699 
3700 
3701 void LIR_Assembler::membar() {
3702   // QQQ sparc TSO uses this,
3703   __ membar( Assembler::Membar_mask_bits(Assembler::StoreLoad));
3704 }
3705 
3706 void LIR_Assembler::membar_acquire() {
3707   // No x86 machines currently require load fences
3708   // __ load_fence();
3709 }
3710 
3711 void LIR_Assembler::membar_release() {
3712   // No x86 machines currently require store fences
3713   // __ store_fence();
3714 }
3715 



















3716 void LIR_Assembler::get_thread(LIR_Opr result_reg) {
3717   assert(result_reg->is_register(), "check");
3718 #ifdef _LP64
3719   // __ get_thread(result_reg->as_register_lo());
3720   __ mov(result_reg->as_register(), r15_thread);
3721 #else
3722   __ get_thread(result_reg->as_register());
3723 #endif // _LP64
3724 }
3725 
3726 
3727 void LIR_Assembler::peephole(LIR_List*) {
3728   // do nothing for now
3729 }
3730 
3731 
3732 #undef __


3696     ShouldNotReachHere();
3697   }
3698 }
3699 
3700 
3701 void LIR_Assembler::membar() {
3702   // QQQ sparc TSO uses this,
3703   __ membar( Assembler::Membar_mask_bits(Assembler::StoreLoad));
3704 }
3705 
3706 void LIR_Assembler::membar_acquire() {
3707   // No x86 machines currently require load fences
3708   // __ load_fence();
3709 }
3710 
3711 void LIR_Assembler::membar_release() {
3712   // No x86 machines currently require store fences
3713   // __ store_fence();
3714 }
3715 
3716 void LIR_Assembler::membar_loadload() {
3717   // no-op
3718   //__ membar(Assembler::Membar_mask_bits(Assembler::loadload));
3719 }
3720 
3721 void LIR_Assembler::membar_storestore() {
3722   // no-op
3723   //__ membar(Assembler::Membar_mask_bits(Assembler::storestore));
3724 }
3725 
3726 void LIR_Assembler::membar_loadstore() {
3727   // no-op
3728   //__ membar(Assembler::Membar_mask_bits(Assembler::loadstore));
3729 }
3730 
3731 void LIR_Assembler::membar_storeload() {
3732   __ membar(Assembler::Membar_mask_bits(Assembler::StoreLoad));
3733 }
3734 
3735 void LIR_Assembler::get_thread(LIR_Opr result_reg) {
3736   assert(result_reg->is_register(), "check");
3737 #ifdef _LP64
3738   // __ get_thread(result_reg->as_register_lo());
3739   __ mov(result_reg->as_register(), r15_thread);
3740 #else
3741   __ get_thread(result_reg->as_register());
3742 #endif // _LP64
3743 }
3744 
3745 
3746 void LIR_Assembler::peephole(LIR_List*) {
3747   // do nothing for now
3748 }
3749 
3750 
3751 #undef __