8259796: timedGet: slighly cleaner code
uniform handling of interrupt in timed wait
Null-check ThreadPerTaskExecutor.run
Re-establish interrupt status when needed across cases
Check interrupt on entry to waitingGet if interruptible
nano-optimize tryFire when not ready
uniCompose methods should not invoke Executor.execute unnecessarily
sadly revert (for consistency with thenCompose): optimize uniComposeExceptionallyStage
CompletableFuture(Object) constructor should use setRelease
optimize uniComposeExceptionallyStage
remove unnecessary comment
whitespace
Add exceptionally{Compose}{Async}
prefer throwing ExceptionInInitializerError from <clinit> to throwing Error
8186265: Make toString() methods of "task" objects more useful
MinimalStage.toCompletableFuture should return non-minimal CompletableFuture
incorporate upstream VarHandle changes
use standard javadoc at-clause order
Rewrite anyOf mechanics for JDK-8160402: Garbage retention with never-completed CompletableFutures
whitespace
cleanStack: no need to re-read stack after successful stack cas; unlinked should not become false after being true
cleanStack: use weakCompareAndSetVolatile
whitespace
refresh internal documentation
improve efficiency of Uni/Or completions when immediately complete
improve efficiency of Uni/Or completions when immediately complete
whitespace
bipush/orpush should call tryFire if complete
add a comment documenting brittleness in CoCompletion.isLive()
s/setRelease/set/ for provably private uses (especially CAS piggyback)
remove redundant casts
remove redundant casts
whitespace
VarHandles conversion; pass 1
avoid ternary expressions, for slightly better bytecode
move casts around, removing some errorprone warnings
s~\bsun\.(misc\.Unsafe)\b~jdk.internal.$1~g; s~\bputOrdered([A-Za-z]+)\b~put${1}Release~g
optimize push(); rename to unipush
Avoid unnecessary signal
Only help complete if FJ worker
Faster cleanup
reduce async overhead
Avoid unnecessary cleanStack calls
migrate to: @since 9
delete stale comment "(see especially method Completion.detach)"
use suppressed exception facility with whenComplete
incorporate review suggestions
compare longs against 0L, not 0
More accurately report timeouts
javadoc clarity
javadoc clarity
typo
slightly better code comment
whitespace
ALL_CAPS for static finals
typo
consistent style for <li> tags, removing </li> end tags
MinimalStage: use @Override for slightly more safety
disable added methods in MinimalStage
un-re-wrap failedFuture, failedStage
typo
Spec clarifications
whitespace
delayedExecutor needs to check for null TimeUnit
Clarify defaultExecutor spec
s/adaptor/adapter/g
JDK-8074773: Reduce the risk of rare disastrous classloading in first call to LockSupport.park
Misc touchups
delete extraneous blank lines
promote join() in class-level @param <T>
add class-level @param <T>
double trouble
Fix failedStage signature
small javadoc improvements
typo
Wildcards
Typos and slips
javadoc tag order
whitespace
completeOnTimeout
typo
typo
Initial candidate additions for jdk9
whitespace
whitespace
Fix previous change
Ensure thenCompose result is always a new CF
standardize Unsafe mechanics; slightly smaller bytecode
use ReflectiveOperationException for Unsafe mechanics
standardize import statement order
slightly more compact bytecode
simplify Unsafe mechanics
AsyncSupply, AsyncRun should extend ForkJoinTask to avoid wrapping when submitted to ForkJoinPool
explain why timedGet does not spin
AsyncRun and AsyncSupply should just be Runnable, not Completions, for clarity
update stale internal docs; s/exec/tryFire/g
use lazySet on Completion.next when enqueuing or GC-clearing
ensure that propagated exceptions reuse the same result object; introduce private CompletableFuture(Object r) constructor; rename completeNil to completeNull;
more readable and compact mechanics; *Either methods should always claim before running action to avoid race
biRelay should be package-private, not private
better variable names
replace unbounded wildcards wherever possible
whitespace
whitespace
whitespace
add NPE javadoc and test for obtrudeException(null)
javadoc of obtrudeException should use same wording as obtrudeValue
javadoc style
javadoc style
javadoc style
javadoc punctuation
small javadoc clarification
Reduce footprint
/* => /** for javadoc
typo
Simplify internal generics
screen explicit commonPool arguments, for compatibility
javadoc style
typos
coding style
whitespace
Improve garbage collectability; major internal refactoring
javadoc style
whitespace
Avoid StackOverflowError for branching completions
punctuation
avoid StackOverflowError for long linear chains
Fix bad conditional
Suppress warnings
Incorporate review suggeastions; cope with disabled commonPool
doclint warning fixes
doclint warning fixes
doclint warning fixes
whitespace
CompletionStage adaptions
whitespace
Sync with JDK
Extract interface CompletionStage
whitespace
fix failure in testThenComposeAsync2
Revert previous change; don't OR exceptions in AND methods
Symmetric exception checks
Ensure nonnull return in thenCompose
de-generify implementation classes that have no use for their type parameter
rename implementation classes and methods for consistency
Specify class-level NPE policy
whitespace
coding style
Make anyOf useful again; add completedFuture
anyOf spec
Fix signature mismatch between allOf and allTree; same for any
more precise exception specs for "either" methods
no special wording for unchecked exceptions
remove javadoc edit leftover
Wording improvements
Improve thenCompose spec wording
clarify exceptional behavior of anyOf and allOf
Improve thenCompose spec wording
Wait if necessary in asyncCompose
javadoc rewrite
improve explanation of async and non-async methods
remove superfluous "final"s
consistent field order
Authoritative source (i.e. Josh) calls it "marker interface"
simplify handling of compose functions returning null CompletableFutures
prefer wording "Returns a new ..."
small javadoc improvement
consistently @return "a new CompletableFuture"
add missing @since
Authoritative source (i.e. Josh) calls it "marker interface"
improve javadocs for cancellation and exceptional completion
javadoc comment correctness
whitespace
javadoc link readability
typo
javadoc link readability
Use consistent wording
Improve docs; anyOf specs; style
M-q
Use symmetrical construction for cancel
improve readability of get methods
javadoc style
improve isCancelled
improve obtrudeValue javadoc
improve obtrudeException javadoc
improve toString()
javadoc style
double trouble
Add async compose
whitespace
Add control, status, grouping methods
Use new java.util.function names
use blessed modifier order
whitespace
whitespace
obtrudeException
Consistent rechecks
Improve FJ support; reorganize to allow jsr166e version
@code
remove @SuppressWarnings
javadoc style
double trouble
whitespace
Copy-edit pass
More consistent style
Rename getValue to join; cleanup pass
Use CompletionExceptions
Avoid unnecessary exception rewrap
Expand and regularize function-accepting methods
javadoc wordsmithing
javadoc wordsmithing
punctuation
whitespace
whitespace
punctuation
punctuation
punctuation
double trouble
Rename and expand methods
Allow exceptionally to compute value; rename force
avoid bad casts in exception reporting
whitespace
double trouble
whitespace
initial version
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.