RFR: 8264707: HotSpot Style Guide should permit use of lambda
Kim Barrett
kbarrett at openjdk.java.net
Tue Aug 17 13:56:42 UTC 2021
Please review this proposal to permit the use of lambda expressions in
HotSpot code, with some restrictions and suggestions for good usage within
HotSpot code. Lambda expressions were added in C++11, and provide a more
expressive syntax for local functions, with a number of use-cases where they
can improve readability by eliminating a lot of uninteresting boilerplate.
Some example uses are included, but are not part of the proposed change.
They will be removed from the PR before it is pushed. (In particular, the
ScopeGuard utility uses move semantics, the use of which hasn't been
approved or even discussed.) They are given to show some of the benefits
that might accrue from permitting the use of lambdas. In particular, they
highlight some of the code reduction that is possible. Some of these code
changes might be proposed in the future, using the normal PR process.
This is a modification of the Style Guide, so rough consensus among the
HotSpot Group members is required to make this change. Only Group members
should vote for approval (via the github PR), though reasoned objections or
comments from anyone will be considered. A decision on this proposal will
not be made before Wednesday 1-Sep-2021 at 12h00 UTC.
Since we're piggybacking on github PRs here, please use the PR review
process to approve (click on Review Changes > Approve), rather than sending
a "vote: yes" email reply that would be normal for a CFV.
-------------
Commit messages:
- add scope guard and some example uses
- G1 SATB filter lambda
- new local functions section
Changes: https://git.openjdk.java.net/jdk/pull/5144/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5144&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8264707
Stats: 406 lines in 5 files changed: 354 ins; 40 del; 12 mod
Patch: https://git.openjdk.java.net/jdk/pull/5144.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5144/head:pull/5144
PR: https://git.openjdk.java.net/jdk/pull/5144
More information about the hotspot-dev
mailing list