本文整理汇总了Java中jdk.vm.ci.meta.JavaConstant.isNonNull方法的典型用法代码示例。如果您正苦于以下问题:Java JavaConstant.isNonNull方法的具体用法?Java JavaConstant.isNonNull怎么用?Java JavaConstant.isNonNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jdk.vm.ci.meta.JavaConstant
的用法示例。
在下文中一共展示了JavaConstant.isNonNull方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readFieldValue
import jdk.vm.ci.meta.JavaConstant; //导入方法依赖的package包/类
public JavaConstant readFieldValue(ResolvedJavaField field, JavaConstant receiver) {
HotSpotResolvedJavaField hotspotField = (HotSpotResolvedJavaField) field;
if (hotspotField.isStatic()) {
HotSpotResolvedJavaType holder = (HotSpotResolvedJavaType) hotspotField.getDeclaringClass();
if (holder.isInitialized()) {
return memoryAccess.readFieldValue(hotspotField, holder.mirror());
}
} else {
if (receiver.isNonNull()) {
Object object = ((HotSpotObjectConstantImpl) receiver).object();
if (hotspotField.isInObject(object)) {
return memoryAccess.readFieldValue(hotspotField, object);
}
}
}
return null;
}
示例2: forConstant
import jdk.vm.ci.meta.JavaConstant; //导入方法依赖的package包/类
public static Stamp forConstant(JavaConstant value, MetaAccessProvider metaAccess) {
if (value.getJavaKind() == JavaKind.Object) {
ResolvedJavaType type = value.isNull() ? null : metaAccess.lookupJavaType(value);
return new ObjectStamp(type, value.isNonNull(), value.isNonNull(), value.isNull());
} else {
return forConstant(value);
}
}
示例3: readArrayLengthConstant
import jdk.vm.ci.meta.JavaConstant; //导入方法依赖的package包/类
private static ValueNode readArrayLengthConstant(ValueNode originalArray, ConstantReflectionProvider constantReflection) {
ValueNode array = GraphUtil.unproxify(originalArray);
if (constantReflection != null && array.isConstant() && !array.isNullConstant()) {
JavaConstant constantValue = array.asJavaConstant();
if (constantValue != null && constantValue.isNonNull()) {
Integer constantLength = constantReflection.readArrayLength(constantValue);
if (constantLength != null) {
return ConstantNode.forInt(constantLength);
}
}
}
return null;
}