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 __ |