mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-26 18:20:28 +00:00
7188911: nightly failures after JSR 292 lazy method handle update (round 2)
Reviewed-by: kvn, jrose
This commit is contained in:
parent
360d512854
commit
e52fc3fb2c
@ -411,11 +411,11 @@ import com.sun.xml.internal.ws.org.objectweb.asm.Type;
|
||||
SpeciesData d = lookupCache(types);
|
||||
if (!d.isPlaceholder())
|
||||
return d;
|
||||
Class<? extends BoundMethodHandle> cbmh;
|
||||
synchronized (d) {
|
||||
// Use synch. on the placeholder to prevent multiple instantiation of one species.
|
||||
// Creating this class forces a recursive call to getForClass.
|
||||
cbmh = Factory.generateConcreteBMHClass(types);
|
||||
if (lookupCache(types).isPlaceholder())
|
||||
Factory.generateConcreteBMHClass(types);
|
||||
}
|
||||
// Reacquire cache lock.
|
||||
d = lookupCache(types);
|
||||
|
||||
@ -476,6 +476,7 @@ import java.util.Objects;
|
||||
}
|
||||
@SuppressWarnings("LeakingThisInConstructor")
|
||||
public MemberName(Method m, boolean wantSpecial) {
|
||||
m.getClass(); // NPE check
|
||||
// fill in vmtarget, vmindex while we have m in hand:
|
||||
MethodHandleNatives.init(this, m);
|
||||
assert(isResolved() && this.clazz != null);
|
||||
@ -505,6 +506,7 @@ import java.util.Objects;
|
||||
/** Create a name for the given reflected constructor. The resulting name will be in a resolved state. */
|
||||
@SuppressWarnings("LeakingThisInConstructor")
|
||||
public MemberName(Constructor<?> ctor) {
|
||||
ctor.getClass(); // NPE check
|
||||
// fill in vmtarget, vmindex while we have ctor in hand:
|
||||
MethodHandleNatives.init(this, ctor);
|
||||
assert(isResolved() && this.clazz != null);
|
||||
@ -519,6 +521,7 @@ import java.util.Objects;
|
||||
}
|
||||
@SuppressWarnings("LeakingThisInConstructor")
|
||||
public MemberName(Field fld, boolean makeSetter) {
|
||||
fld.getClass(); // NPE check
|
||||
// fill in vmtarget, vmindex while we have fld in hand:
|
||||
MethodHandleNatives.init(this, fld);
|
||||
assert(isResolved() && this.clazz != null);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user