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 to io.vertx.core.impl.ContextInternal; there's only one exception here perturbing the cache: this method is implicitly casting to its obvious interface io.vertx.core.Context.
The fix is simple: consistently cast to io.vertx.core.impl.ContextInternal exclusively.
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.