Mercurial > hg > graal-jvmci-8
changeset 22645:c33f0cb02b34
Add ConstantReflectionProvider.forObject method and make HotSpotObjectConstantImpl package-private.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Thu, 01 Oct 2015 16:31:04 +0200 |
parents | cefe66df3455 |
children | 3af40fab60c2 |
files | jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotConstantReflectionProvider.java jvmci/jdk.internal.jvmci.hotspot/src/jdk/internal/jvmci/hotspot/HotSpotObjectConstantImpl.java jvmci/jdk.internal.jvmci.meta/src/jdk/internal/jvmci/meta/ConstantReflectionProvider.java |
diffstat | 3 files changed, 12 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- 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) {
--- 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; }
--- 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.