Hi, Looks good. Some minor comments.
Paul. src/share/vm/classfile/vmSymbols.cpp — A prior bug: in the original code the case statements for the _weakCompareAndSwapLongVolatile were missing, so we need to add: case vmIntrinsics::_weakCompareAndSeLong etc. I think this is mostly benign as it’s related to disabling intrinsics. src/share/vm/opto/library_call.cpp — 2594 // LS_cmp_swap_weak: 2595 // 2596 // boolean weakCompareAndSetObjectPlain( Object o, long offset, Object expected, Object x); 2597 // boolean weakCompareAndSetObjectAcquire(Object o, long offset, Object expected, Object x); 2598 // boolean weakCompareAndSetObjectRelease(Object o, long offset, Object expected, Object x); 2599 // 2600 // boolean weakCompareAndSetIntPlain( Object o, long offset, int expected, int x); 2601 // boolean weakCompareAndSetIntAcquire( Object o, long offset, int expected, int x); 2602 // boolean weakCompareAndSetIntRelease( Object o, long offset, int expected, int x); 2603 // 2604 // boolean weakCompareAndSetLongPlain( Object o, long offset, long expected, long x); 2605 // boolean weakCompareAndSetLongAcquire( Object o, long offset, long expected, long x); 2606 // boolean weakCompareAndSetLongRelease( Object o, long offset, long expected, long x); 2607 // Missing volatile variantes in the comment. @@ -4962,7 +4962,7 @@ // See arraycopy_restore_alloc_state() comment // if alloc == NULL we don't have to worry about a tightly coupled allocation so we can emit all needed guards // if saved_jvms != NULL (then alloc != NULL) then we can handle guards and a tightly coupled allocation - // if saved_jvms == NULL and alloc != NULL, we can’t emit any guards + // if saved_jvms == NULL and alloc != NULL, we can’t emit any guards Rouge characters that substituted “," test/compiler/unsafe/ — In this directory there are templates you can update from which the test source is generated by running a script. See: hotspot/test/compiler/unsafe/generate-unsafe-access-tests.sh hotspot/test/compiler/unsafe/X-UnsafeAccessTest.java.template > On 5 May 2017, at 12:27, Ron Pressler <ron.press...@oracle.com> wrote: > > Hi, > Please review the following core/hotspot change: > > Bug: https://bugs.openjdk.java.net/browse/JDK-8159995 > core webrev: > http://cr.openjdk.java.net/~psandoz/jdk10/JDK-8159995-unsafe-compare-and-swap-to-set-jdk/webrev/ > hotspot webrev: > http://cr.openjdk.java.net/~psandoz/jdk10/JDK-8159995-unsafe-compare-and-swap-to-set-hotspot/webrev/ > > This change is covered by existing tests. > > The following renaming was applied: > > - compareAndExchange*Volatile -> compareAndExchange* > - compareAndSwap* -> compareAndSet* > - weakCompareAndSwap* -> weakCompareAndSet*Plain > - weakCompareAndSwap*Volatile -> weakCompareAndSet* > > At this stage, only method and hotspot intrinsic names were changed; node > names were left as-is, and may be handled in a separate issue. > > Ron