--- old/src/hotspot/share/opto/matcher.cpp 2020-02-06 19:34:04.917466144 +0100 +++ new/src/hotspot/share/opto/matcher.cpp 2020-02-06 19:34:04.751466159 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2254,6 +2254,14 @@ 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: @@ -2497,6 +2505,14 @@ // 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 ||