< prev index next >
src/hotspot/share/opto/matcher.cpp
Print this page
rev 52851 : Streamline CAS barriers, C2 ideal graph generation and matching
*** 2261,2270 ****
--- 2261,2278 ----
// Now hack a few special opcodes
switch( n->Opcode() ) { // Handle some opcodes special
case Op_StorePConditional:
case Op_StoreIConditional:
case Op_StoreLConditional:
+ #if INCLUDE_SHENANDOAHGC
+ case Op_ShenandoahCompareAndExchangeP:
+ case Op_ShenandoahCompareAndExchangeN:
+ case Op_ShenandoahWeakCompareAndSwapP:
+ case Op_ShenandoahWeakCompareAndSwapN:
+ case Op_ShenandoahCompareAndSwapP:
+ case Op_ShenandoahCompareAndSwapN:
+ #endif
case Op_CompareAndExchangeB:
case Op_CompareAndExchangeS:
case Op_CompareAndExchangeI:
case Op_CompareAndExchangeL:
case Op_CompareAndExchangeP:
*** 2504,2513 ****
--- 2512,2529 ----
// Op_Fastunlock previously appeared in the Op_* list below.
// With the advent of 1-0 lock operations we're no longer guaranteed
// that a monitor exit operation contains a serializing instruction.
if (xop == Op_MemBarVolatile ||
+ #if INCLUDE_SHENANDOAHGC
+ xop == Op_ShenandoahCompareAndExchangeP ||
+ xop == Op_ShenandoahCompareAndExchangeN ||
+ xop == Op_ShenandoahWeakCompareAndSwapP ||
+ xop == Op_ShenandoahWeakCompareAndSwapN ||
+ xop == Op_ShenandoahCompareAndSwapN ||
+ xop == Op_ShenandoahCompareAndSwapP ||
+ #endif
xop == Op_CompareAndExchangeB ||
xop == Op_CompareAndExchangeS ||
xop == Op_CompareAndExchangeI ||
xop == Op_CompareAndExchangeL ||
xop == Op_CompareAndExchangeP ||
< prev index next >