src/hotspot/share/c1/c1_LIRGenerator.cpp
changeset 51996 84743156e780
parent 51649 8f594f75e054
child 52220 9c260a6b6471
equal deleted inserted replaced
51995:f7babf9d1592 51996:84743156e780
  3066   case vmIntrinsics::_compareAndSetLong:
  3066   case vmIntrinsics::_compareAndSetLong:
  3067     do_CompareAndSwap(x, longType);
  3067     do_CompareAndSwap(x, longType);
  3068     break;
  3068     break;
  3069 
  3069 
  3070   case vmIntrinsics::_loadFence :
  3070   case vmIntrinsics::_loadFence :
  3071     if (os::is_MP()) __ membar_acquire();
  3071     __ membar_acquire();
  3072     break;
  3072     break;
  3073   case vmIntrinsics::_storeFence:
  3073   case vmIntrinsics::_storeFence:
  3074     if (os::is_MP()) __ membar_release();
  3074     __ membar_release();
  3075     break;
  3075     break;
  3076   case vmIntrinsics::_fullFence :
  3076   case vmIntrinsics::_fullFence :
  3077     if (os::is_MP()) __ membar();
  3077     __ membar();
  3078     break;
  3078     break;
  3079   case vmIntrinsics::_onSpinWait:
  3079   case vmIntrinsics::_onSpinWait:
  3080     __ on_spin_wait();
  3080     __ on_spin_wait();
  3081     break;
  3081     break;
  3082   case vmIntrinsics::_Reference_get:
  3082   case vmIntrinsics::_Reference_get:
  3621   }
  3621   }
  3622   return result;
  3622   return result;
  3623 }
  3623 }
  3624 
  3624 
  3625 void LIRGenerator::do_MemBar(MemBar* x) {
  3625 void LIRGenerator::do_MemBar(MemBar* x) {
  3626   if (os::is_MP()) {
  3626   LIR_Code code = x->code();
  3627     LIR_Code code = x->code();
  3627   switch(code) {
  3628     switch(code) {
  3628   case lir_membar_acquire   : __ membar_acquire(); break;
  3629       case lir_membar_acquire   : __ membar_acquire(); break;
  3629   case lir_membar_release   : __ membar_release(); break;
  3630       case lir_membar_release   : __ membar_release(); break;
  3630   case lir_membar           : __ membar(); break;
  3631       case lir_membar           : __ membar(); break;
  3631   case lir_membar_loadload  : __ membar_loadload(); break;
  3632       case lir_membar_loadload  : __ membar_loadload(); break;
  3632   case lir_membar_storestore: __ membar_storestore(); break;
  3633       case lir_membar_storestore: __ membar_storestore(); break;
  3633   case lir_membar_loadstore : __ membar_loadstore(); break;
  3634       case lir_membar_loadstore : __ membar_loadstore(); break;
  3634   case lir_membar_storeload : __ membar_storeload(); break;
  3635       case lir_membar_storeload : __ membar_storeload(); break;
  3635   default                   : ShouldNotReachHere(); break;
  3636       default                   : ShouldNotReachHere(); break;
       
  3637     }
       
  3638   }
  3636   }
  3639 }
  3637 }
  3640 
  3638 
  3641 LIR_Opr LIRGenerator::mask_boolean(LIR_Opr array, LIR_Opr value, CodeEmitInfo*& null_check_info) {
  3639 LIR_Opr LIRGenerator::mask_boolean(LIR_Opr array, LIR_Opr value, CodeEmitInfo*& null_check_info) {
  3642   LIR_Opr value_fixed = rlock_byte(T_BYTE);
  3640   LIR_Opr value_fixed = rlock_byte(T_BYTE);