diff -r ea43db53de91 -r ed12027517c0 src/hotspot/share/adlc/formssel.cpp --- a/src/hotspot/share/adlc/formssel.cpp Mon Jun 10 05:09:52 2019 +0200 +++ b/src/hotspot/share/adlc/formssel.cpp Thu Feb 14 14:54:05 2019 +0100 @@ -757,7 +757,6 @@ return NO_MEMORY_OPERAND; } - // This instruction captures the machine-independent bottom_type // Expected use is for pointer vs oop determination for LoadP bool InstructForm::captures_bottom_type(FormDict &globals) const { @@ -775,8 +774,9 @@ !strcmp(_matrule->_rChild->_opType,"GetAndSetP") || !strcmp(_matrule->_rChild->_opType,"GetAndSetN") || #if INCLUDE_ZGC + !strcmp(_matrule->_rChild->_opType,"ZGetAndSetP") || + !strcmp(_matrule->_rChild->_opType,"ZCompareAndExchangeP") || !strcmp(_matrule->_rChild->_opType,"LoadBarrierSlowReg") || - !strcmp(_matrule->_rChild->_opType,"LoadBarrierWeakSlowReg") || #endif #if INCLUDE_SHENANDOAHGC !strcmp(_matrule->_rChild->_opType,"ShenandoahCompareAndExchangeP") || @@ -3506,12 +3506,16 @@ "CompareAndSwapB", "CompareAndSwapS", "CompareAndSwapI", "CompareAndSwapL", "CompareAndSwapP", "CompareAndSwapN", "WeakCompareAndSwapB", "WeakCompareAndSwapS", "WeakCompareAndSwapI", "WeakCompareAndSwapL", "WeakCompareAndSwapP", "WeakCompareAndSwapN", "CompareAndExchangeB", "CompareAndExchangeS", "CompareAndExchangeI", "CompareAndExchangeL", "CompareAndExchangeP", "CompareAndExchangeN", +#if INCLUDE_SHENANDOAHGC "ShenandoahCompareAndSwapN", "ShenandoahCompareAndSwapP", "ShenandoahWeakCompareAndSwapP", "ShenandoahWeakCompareAndSwapN", "ShenandoahCompareAndExchangeP", "ShenandoahCompareAndExchangeN", +#endif "StoreCM", - "ClearArray", "GetAndSetB", "GetAndSetS", "GetAndAddI", "GetAndSetI", "GetAndSetP", "GetAndAddB", "GetAndAddS", "GetAndAddL", "GetAndSetL", "GetAndSetN", - "LoadBarrierSlowReg", "LoadBarrierWeakSlowReg" +#if INCLUDE_ZGC + "LoadBarrierSlowReg", "ZGetAndSetP", "ZCompareAndSwapP", "ZCompareAndExchangeP", "ZWeakCompareAndSwapP", +#endif + "ClearArray" }; int cnt = sizeof(needs_ideal_memory_list)/sizeof(char*); if( strcmp(_opType,"PrefetchAllocation")==0 )