# HG changeset patch # User Doug Simon # Date 1417031296 -3600 # Node ID 0ec7e37451c7b0c40bcc7d700f2795c0c7eda377 # Parent 7bbc9fc1e7f9e53b41009d3cd59647ce214aaacd added HotSpotObjectConstant.getType() and restricted access to some static methods in HotSpotObjectConstantImpl diff -r 7bbc9fc1e7f9 -r 0ec7e37451c7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java Wed Nov 26 20:38:48 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java Wed Nov 26 20:48:16 2014 +0100 @@ -43,6 +43,11 @@ boolean isCompressed(); /** + * Gets the resolved Java type of the object represented by this constant. + */ + HotSpotResolvedObjectType getType(); + + /** * Gets the result of {@link Class#getClassLoader()} for the {@link Class} object represented by * this constant. * diff -r 7bbc9fc1e7f9 -r 0ec7e37451c7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Wed Nov 26 20:38:48 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Wed Nov 26 20:48:16 2014 +0100 @@ -22,6 +22,8 @@ */ package com.oracle.graal.hotspot.meta; +import static com.oracle.graal.hotspot.meta.HotSpotResolvedObjectTypeImpl.*; + import java.lang.invoke.*; import com.oracle.graal.api.code.*; @@ -43,7 +45,7 @@ return forObject(object, false); } - public static JavaConstant forObject(Object object, boolean compressed) { + static JavaConstant forObject(Object object, boolean compressed) { if (object == null) { return compressed ? HotSpotCompressedNullConstant.COMPRESSED_NULL : JavaConstant.NULL_POINTER; } else { @@ -51,7 +53,7 @@ } } - public static JavaConstant forStableArray(Object object, int stableDimension, boolean isDefaultStable) { + static JavaConstant forStableArray(Object object, int stableDimension, boolean isDefaultStable) { if (object == null) { return JavaConstant.NULL_POINTER; } else { @@ -68,7 +70,7 @@ } } - public static Object asBoxedValue(Constant constant) { + static Object asBoxedValue(Constant constant) { if (JavaConstant.isNull(constant)) { return null; } else if (constant instanceof HotSpotObjectConstantImpl) { @@ -135,6 +137,10 @@ return new HotSpotObjectConstantImpl(object, false, stableDimension, isDefaultStable); } + public HotSpotResolvedObjectType getType() { + return fromObjectClass(object.getClass()); + } + public JavaConstant getClassLoader() { if (object instanceof Class) { /*