RFR: 8221980: Simplify Optional implementation
Claes Redestad
claes.redestad at oracle.com
Thu Apr 4 10:29:29 UTC 2019
Hi,
the current code for Optional.ofNullable() null-checks the value, then
calls of(), which calls new Optional(), which null-checks again via
Objects.requireNonNull(). This can be simplified by refactoring so that
we only null-check once and chain through fewer methods.
Bug: https://bugs.openjdk.java.net/browse/JDK-8221980
Webrev: http://cr.openjdk.java.net/~redestad/8221980/open.00/
While JITs are likely to inline all this and generate the optimal
code, it can fail to do so due inlining heuristics. This simplification
reduces the risk of hitting such limits, while also speeding up code
executed during startup and warmup phases.
Testing: tier1-2, verified a small improvement in startup profiles
Thanks!
/Claes
More information about the core-libs-dev
mailing list