1263 //
1264 // return true if opcode is one of the possible CompareAndSwapX
1265 // values otherwise false.
1266
1267 bool is_CAS(int opcode, bool maybe_volatile)
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 case Op_GetAndSetI:
1278 case Op_GetAndSetL:
1279 case Op_GetAndSetP:
1280 case Op_GetAndSetN:
1281 case Op_GetAndAddI:
1282 case Op_GetAndAddL:
1283 return true;
1284 case Op_CompareAndExchangeI:
1285 case Op_CompareAndExchangeN:
1286 case Op_CompareAndExchangeB:
1287 case Op_CompareAndExchangeS:
1288 case Op_CompareAndExchangeL:
1289 case Op_CompareAndExchangeP:
1290 case Op_WeakCompareAndSwapB:
1291 case Op_WeakCompareAndSwapS:
1292 case Op_WeakCompareAndSwapI:
1293 case Op_WeakCompareAndSwapL:
1294 case Op_WeakCompareAndSwapP:
1295 case Op_WeakCompareAndSwapN:
1296 return maybe_volatile;
1297 default:
1298 return false;
1299 }
1300 }
1301
1302 // helper to determine the maximum number of Phi nodes we may need to
|
1263 //
1264 // return true if opcode is one of the possible CompareAndSwapX
1265 // values otherwise false.
1266
1267 bool is_CAS(int opcode, bool maybe_volatile)
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 case Op_GetAndSetI:
1278 case Op_GetAndSetL:
1279 case Op_GetAndSetP:
1280 case Op_GetAndSetN:
1281 case Op_GetAndAddI:
1282 case Op_GetAndAddL:
1283 #if INCLUDE_SHENANDOAHGC
1284 case Op_ShenandoahCompareAndSwapP:
1285 case Op_ShenandoahCompareAndSwapN:
1286 #endif
1287 return true;
1288 case Op_CompareAndExchangeI:
1289 case Op_CompareAndExchangeN:
1290 case Op_CompareAndExchangeB:
1291 case Op_CompareAndExchangeS:
1292 case Op_CompareAndExchangeL:
1293 case Op_CompareAndExchangeP:
1294 case Op_WeakCompareAndSwapB:
1295 case Op_WeakCompareAndSwapS:
1296 case Op_WeakCompareAndSwapI:
1297 case Op_WeakCompareAndSwapL:
1298 case Op_WeakCompareAndSwapP:
1299 case Op_WeakCompareAndSwapN:
1300 return maybe_volatile;
1301 default:
1302 return false;
1303 }
1304 }
1305
1306 // helper to determine the maximum number of Phi nodes we may need to
|