# HG changeset patch # User Roland Schatz # Date 1443709864 -7200 # Node ID c33f0cb02b34763c55dafa5589dca932e91d3b71 # Parent cefe66df34551309bdda19adcb8ab4b226483e32 Add ConstantReflectionProvider.forObject method and make HotSpotObjectConstantImpl package-private. diff -r cefe66df3455 -r c33f0cb02b34 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantReflectionProvider.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantReflectionProvider.java Wed Sep 30 16:55:12 2015 -0700 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantReflectionProvider.java Thu Oct 01 16:31:04 2015 +0200 @@ -215,6 +215,10 @@ return HotSpotObjectConstantImpl.forObject(value); } + public JavaConstant forObject(Object value) { + return HotSpotObjectConstantImpl.forObject(value); + } + @Override public ResolvedJavaType asJavaType(Constant constant) { if (constant instanceof HotSpotObjectConstant) { diff -r cefe66df3455 -r c33f0cb02b34 jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotObjectConstantImpl.java --- a/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotObjectConstantImpl.java Wed Sep 30 16:55:12 2015 -0700 +++ b/jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotObjectConstantImpl.java Thu Oct 01 16:31:04 2015 +0200 @@ -39,9 +39,9 @@ * Represents a constant non-{@code null} object reference, within the compiler and across the * compiler/runtime interface. */ -public final class HotSpotObjectConstantImpl implements HotSpotObjectConstant, HotSpotProxified { +final class HotSpotObjectConstantImpl implements HotSpotObjectConstant, HotSpotProxified { - public static JavaConstant forObject(Object object) { + static JavaConstant forObject(Object object) { return forObject(object, false); } @@ -112,21 +112,6 @@ return object; } - /** - * Determines if the object represented by this constant is {@link Object#equals(Object) equal} - * to a given object. - */ - public boolean isEqualTo(Object obj) { - return object.equals(obj); - } - - /** - * Gets the class of the object represented by this constant. - */ - public Class getObjectClass() { - return object.getClass(); - } - public boolean isCompressed() { return compressed; } diff -r cefe66df3455 -r c33f0cb02b34 jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ConstantReflectionProvider.java --- a/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ConstantReflectionProvider.java Wed Sep 30 16:55:12 2015 -0700 +++ b/jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ConstantReflectionProvider.java Thu Oct 01 16:31:04 2015 +0200 @@ -134,6 +134,12 @@ JavaConstant forString(String value); /** + * Boxes a raw object as a {@link JavaConstant}. May return {@code null} if the object can not + * be transferred from the compiler VM to the runtime VM. + */ + JavaConstant forObject(Object value); + + /** * Returns the {@link ResolvedJavaType} for a {@link Class} object (or any other object regarded * as a class by the VM) encapsulated in the given constant. Returns {@code null} if the * constant does not encapsulate a class, or if the type is not available at this point.