Avoid triggering type cache pollution on VertxContext.isDuplicatedContext #190
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a strong performance enhancement.
Using @franz1981's new agent we can now identify suboptimal code in our libraries when doing
instanceof
(or comparable, such as casts) operations which trigger JDK-8180450.It would seem we have one of such cases in method
VertxContext.isDuplicatedContext
, the related portion of the report being:As one can see, the common pattern is to cast an instance of
io.vertx.core.impl.ContextInternal
toio.vertx.core.impl.ContextInternal
; there's only one exception here perturbing the cache: this method is implicitly casting to its obvious interfaceio.vertx.core.Context
.The fix is simple: consistently cast to
io.vertx.core.impl.ContextInternal
exclusively.