src/java.base/share/classes/java/lang/invoke/LambdaForm.java:
+ private static void createFormsFor(BasicType type) {
+ synchronized (LF_identity) {
Looks a bit confusing since the method touches both LF_identity and
LF_zero array now. Why not simply make the method synchronized?
LambdaForm is package-private and shouldn't leak outside j.l.i.
test/sun/invoke/util/WrapperTest.java:
@run junit/othervm
Why do you specify /othervm mode?
Best regards,
Vladimir Ivanov
On 11/17/15 2:04 PM, Claes Redestad wrote:
On 2015-11-14 01:05, Vladimir Ivanov wrote:
I think we have to add a storeFence or two to avoid publishing
NamedFunctions whose resolvedHandle may otherwise be observed as only
partially visible:
http://cr.openjdk.java.net/~redestad/8142487/webrev.03/
Same here. No need in Unsafe.storeFence if proper constructor is used.
Right, together with the added lazy initialization safety we added in
8142334[1] I think this is more than enough:
http://cr.openjdk.java.net/~redestad/8142487/webrev.04/
/Claes
[1] https://bugs.openjdk.java.net/browse/JDK-8142334