--- old/src/java.base/share/classes/java/util/concurrent/AbstractExecutorService.java 2020-07-23 15:02:54.050574191 -0700 +++ new/src/java.base/share/classes/java/util/concurrent/AbstractExecutorService.java 2020-07-23 15:02:53.690574191 -0700 @@ -77,6 +77,11 @@ public abstract class AbstractExecutorService implements ExecutorService { /** + * Constructor for subclasses to call. + */ + public AbstractExecutorService() {} + + /** * Returns a {@code RunnableFuture} for the given runnable and default * value. * --- old/src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java 2020-07-23 15:02:54.738574191 -0700 +++ new/src/java.base/share/classes/java/util/concurrent/ForkJoinTask.java 2020-07-23 15:02:54.346574191 -0700 @@ -242,6 +242,11 @@ private static final int SIGNAL = 1 << 16; // true if joiner waiting private static final int SMASK = 0xffff; // short bits for tags + /** + * Constructor for subclasses to call. + */ + public ForkJoinTask() {} + static boolean isExceptionalStatus(int s) { // needed by subclasses return (s & THROWN) != 0; } --- old/src/java.base/share/classes/java/util/concurrent/RecursiveAction.java 2020-07-23 15:02:55.422574191 -0700 +++ new/src/java.base/share/classes/java/util/concurrent/RecursiveAction.java 2020-07-23 15:02:55.062574191 -0700 @@ -166,6 +166,11 @@ private static final long serialVersionUID = 5232453952276485070L; /** + * Constructor for subclasses to call. + */ + public RecursiveAction() {} + + /** * The main computation performed by this task. */ protected abstract void compute(); --- old/src/java.base/share/classes/java/util/concurrent/RecursiveTask.java 2020-07-23 15:02:56.098574191 -0700 +++ new/src/java.base/share/classes/java/util/concurrent/RecursiveTask.java 2020-07-23 15:02:55.722574191 -0700 @@ -69,6 +69,11 @@ private static final long serialVersionUID = 5232453952276485270L; /** + * Constructor for subclasses to call. + */ + public RecursiveTask() {} + + /** * The result of the computation. */ @SuppressWarnings("serial") // Conditionally serializable --- old/src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java 2020-07-23 15:02:56.766574191 -0700 +++ new/src/java.base/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java 2020-07-23 15:02:56.386574191 -0700 @@ -65,6 +65,11 @@ private static final long serialVersionUID = 7373984972572414692L; + /** + * Constructor for subclasses to call. + */ + public AbstractQueuedLongSynchronizer() {} + /* * To keep sources in sync, the remainder of this source file is * exactly cloned from AbstractQueuedSynchronizer, replacing class