8309498: [JVMCI] race in CallSiteTargetValue recording
Reviewed-by: dnsimon, kvn
This commit is contained in:
parent
5a706fb403
commit
bb966827ac
@ -88,13 +88,15 @@ abstract class HotSpotObjectConstantImpl implements HotSpotObjectConstant {
|
||||
if (runtime().getCallSite().isInstance(this)) {
|
||||
// For ConstantCallSites, we need to read "isFrozen" before reading "target"
|
||||
// isFullyInitializedConstantCallSite() reads "isFrozen"
|
||||
if (!isFullyInitializedConstantCallSite()) {
|
||||
if (assumptions == null) {
|
||||
return null;
|
||||
}
|
||||
assumptions.record(new Assumptions.CallSiteTargetValue(this, readTarget()));
|
||||
if (isFullyInitializedConstantCallSite()) {
|
||||
return readTarget();
|
||||
}
|
||||
return readTarget();
|
||||
if (assumptions == null) {
|
||||
return null;
|
||||
}
|
||||
HotSpotObjectConstantImpl result = readTarget();
|
||||
assumptions.record(new Assumptions.CallSiteTargetValue(this, result));
|
||||
return result;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user