< prev index next >

src/hotspot/cpu/aarch64/aarch64.ad

Print this page




1257   // always just translate the loads and stores to ldr<x> and str<x>
1258   // and translate acquire, release and volatile membars to the
1259   // relevant dmb instructions.
1260   //
1261 
1262   // is_CAS(int opcode)
1263   //
1264   // return true if opcode is one of the possible CompareAndSwapX
1265   // values otherwise false.
1266 
1267   bool is_CAS(int opcode)
1268   {
1269     switch(opcode) {
1270       // We handle these
1271     case Op_CompareAndSwapI:
1272     case Op_CompareAndSwapL:
1273     case Op_CompareAndSwapP:
1274     case Op_CompareAndSwapN:
1275  // case Op_CompareAndSwapB:
1276  // case Op_CompareAndSwapS:




1277       return true;
1278       // These are TBD
1279     case Op_WeakCompareAndSwapB:
1280     case Op_WeakCompareAndSwapS:
1281     case Op_WeakCompareAndSwapI:
1282     case Op_WeakCompareAndSwapL:
1283     case Op_WeakCompareAndSwapP:
1284     case Op_WeakCompareAndSwapN:
1285     case Op_CompareAndExchangeB:
1286     case Op_CompareAndExchangeS:
1287     case Op_CompareAndExchangeI:
1288     case Op_CompareAndExchangeL:
1289     case Op_CompareAndExchangeP:
1290     case Op_CompareAndExchangeN:
1291       return false;
1292     default:
1293       return false;
1294     }
1295   }
1296 




1257   // always just translate the loads and stores to ldr<x> and str<x>
1258   // and translate acquire, release and volatile membars to the
1259   // relevant dmb instructions.
1260   //
1261 
1262   // is_CAS(int opcode)
1263   //
1264   // return true if opcode is one of the possible CompareAndSwapX
1265   // values otherwise false.
1266 
1267   bool is_CAS(int opcode)
1268   {
1269     switch(opcode) {
1270       // We handle these
1271     case Op_CompareAndSwapI:
1272     case Op_CompareAndSwapL:
1273     case Op_CompareAndSwapP:
1274     case Op_CompareAndSwapN:
1275  // case Op_CompareAndSwapB:
1276  // case Op_CompareAndSwapS:
1277 #if INCLUDE_SHENANDOAHGC
1278     case Op_ShenandoahCompareAndSwapP:
1279     case Op_ShenandoahCompareAndSwapN:
1280 #endif
1281       return true;
1282       // These are TBD
1283     case Op_WeakCompareAndSwapB:
1284     case Op_WeakCompareAndSwapS:
1285     case Op_WeakCompareAndSwapI:
1286     case Op_WeakCompareAndSwapL:
1287     case Op_WeakCompareAndSwapP:
1288     case Op_WeakCompareAndSwapN:
1289     case Op_CompareAndExchangeB:
1290     case Op_CompareAndExchangeS:
1291     case Op_CompareAndExchangeI:
1292     case Op_CompareAndExchangeL:
1293     case Op_CompareAndExchangeP:
1294     case Op_CompareAndExchangeN:
1295       return false;
1296     default:
1297       return false;
1298     }
1299   }
1300 


< prev index next >