changeset 14117:2b2f0022900f

removed unnecessary lookupKlassByName method
author Doug Simon <doug.simon@oracle.com>
date Sat, 08 Mar 2014 10:04:44 +0100
parents be7ebdf41bea
children 380984cdb29d
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java src/share/vm/graal/graalCompilerToVM.cpp
diffstat 5 files changed, 12 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java	Fri Mar 07 11:44:26 2014 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java	Sat Mar 08 10:04:44 2014 +0100
@@ -318,13 +318,13 @@
      * 
      * @param name a well formed Java type in {@linkplain JavaType#getName() internal} format
      * @param accessingType the context of resolution (may be null)
-     * @param eagerResolve force resolution to a {@link ResolvedJavaType}. If true, this method will
+     * @param resolve force resolution to a {@link ResolvedJavaType}. If true, this method will
      *            either return a {@link ResolvedJavaType} or throw an exception
      * @return a Java type for {@code name} which is guaranteed to be of type
-     *         {@link ResolvedJavaType} if {@code eagerResolve == true}
-     * @throws LinkageError if {@code eagerResolve == true} and the resolution failed
+     *         {@link ResolvedJavaType} if {@code resolve == true}
+     * @throws LinkageError if {@code resolve == true} and the resolution failed
      */
-    public JavaType lookupType(String name, HotSpotResolvedObjectType accessingType, boolean eagerResolve) {
+    public JavaType lookupType(String name, HotSpotResolvedObjectType accessingType, boolean resolve) {
         // If the name represents a primitive type we can short-circuit the lookup.
         if (name.length() == 1) {
             Kind kind = Kind.fromPrimitiveOrVoidTypeChar(name.charAt(0));
@@ -338,7 +338,7 @@
         }
 
         // Resolve the type in the VM.
-        final long metaspaceKlass = compilerToVm.lookupType(name, accessingClass, eagerResolve);
+        final long metaspaceKlass = compilerToVm.lookupType(name, accessingClass, resolve);
         if (metaspaceKlass == 0) {
             return HotSpotUnresolvedJavaType.create(name);
         }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java	Fri Mar 07 11:44:26 2014 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java	Sat Mar 08 10:04:44 2014 +0100
@@ -111,14 +111,12 @@
      * 
      * @param name a well formed Java type in {@linkplain JavaType#getName() internal} format
      * @param accessingClass the context of resolution (may be null)
-     * @param eagerResolve force resolution to a {@link ResolvedJavaType}. If true, this method will
+     * @param resolve force resolution to a {@link ResolvedJavaType}. If true, this method will
      *            either return a {@link ResolvedJavaType} or throw an exception
      * @return a metaspace klass for {@code name}
-     * @throws LinkageError if {@code eagerResolve == true} and the resolution failed
+     * @throws LinkageError if {@code resolve == true} and the resolution failed
      */
-    long lookupType(String name, Class<?> accessingClass, boolean eagerResolve);
-
-    long lookupKlassByName(String name, Class<?> accessingClass);
+    long lookupType(String name, Class<?> accessingClass, boolean resolve);
 
     Object lookupConstantInPool(long metaspaceConstantPool, int cpi);
 
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java	Fri Mar 07 11:44:26 2014 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java	Sat Mar 08 10:04:44 2014 +0100
@@ -64,9 +64,6 @@
     public native long lookupType(String name, Class<?> accessingClass, boolean eagerResolve);
 
     @Override
-    public native long lookupKlassByName(String name, Class<?> accessingClass);
-
-    @Override
     public native Object lookupConstantInPool(long metaspaceConstantPool, int cpi);
 
     @Override
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java	Fri Mar 07 11:44:26 2014 -0800
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java	Sat Mar 08 10:04:44 2014 +0100
@@ -53,7 +53,7 @@
      * 
      * @return holder for this constant pool
      */
-    private HotSpotResolvedJavaType getHolder() {
+    private HotSpotResolvedObjectType getHolder() {
         final long metaspaceKlass = unsafe.getAddress(metaspaceConstantPool + runtime().getConfig().constantPoolHolderOffset);
         return (HotSpotResolvedObjectType) HotSpotResolvedObjectType.fromMetaspaceKlass(metaspaceKlass);
     }
@@ -431,19 +431,7 @@
         String name = lookupUtf8(nameIndex);
         final int typeIndex = getSignatureRefIndexAt(nameAndTypeIndex);
         String typeName = lookupUtf8(typeIndex);
-
-        Kind kind = Kind.fromTypeString(typeName);
-        JavaType type;
-        if (kind.isPrimitive()) {
-            type = HotSpotResolvedPrimitiveType.fromKind(kind);
-        } else {
-            final long metaspaceKlass = runtime().getCompilerToVM().lookupKlassByName(typeName, getHolder().mirror());
-            if (metaspaceKlass == 0L) {
-                type = HotSpotUnresolvedJavaType.create(typeName);
-            } else {
-                type = HotSpotResolvedObjectType.fromMetaspaceKlass(metaspaceKlass);
-            }
-        }
+        JavaType type = runtime().lookupType(typeName, getHolder(), false);
 
         final int holderIndex = getKlassRefIndexAt(index);
         JavaType holder = lookupType(holderIndex, opcode);
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Fri Mar 07 11:44:26 2014 -0800
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Sat Mar 08 10:04:44 2014 +0100
@@ -353,7 +353,7 @@
   return code == NULL ? 0 : code->insts_size();
 C2V_END
 
-C2V_VMENTRY(jlong, lookupType, (JNIEnv *env, jobject, jstring jname, jclass accessing_class, jboolean eagerResolve))
+C2V_VMENTRY(jlong, lookupType, (JNIEnv *env, jobject, jstring jname, jclass accessing_class, jboolean resolve))
   ResourceMark rm;
   Handle name = JNIHandles::resolve(jname);
   Symbol* class_name = java_lang_String::as_symbol(name, THREAD);
@@ -369,7 +369,7 @@
     protection_domain = accessing_klass->protection_domain();
   }
 
-  if (eagerResolve) {
+  if (resolve) {
     resolved_klass = SystemDictionary::resolve_or_fail(class_name, class_loader, protection_domain, true, THREAD);
   } else {
     resolved_klass = SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, THREAD);
@@ -378,13 +378,6 @@
   return (jlong) (address) resolved_klass;
 C2V_END
 
-C2V_VMENTRY(jlong, lookupKlassByName, (JNIEnv *env, jobject, jstring name, jclass loading_class))
-  KlassHandle loading_klass = java_lang_Class::as_Klass(JNIHandles::resolve(loading_class));
-  Symbol* name_symbol = java_lang_String::as_symbol(JNIHandles::resolve(name), THREAD);
-  KlassHandle klass = GraalEnv::get_klass_by_name(loading_klass, name_symbol, false);
-  return (jlong) (address) klass();
-C2V_END
-
 C2V_VMENTRY(jobject, lookupConstantInPool, (JNIEnv *env, jobject, jlong metaspace_constant_pool, jint index))
   ConstantPool* cp = (ConstantPool*) metaspace_constant_pool;
   oop result = NULL;
@@ -854,7 +847,6 @@
   {CC"shouldInlineMethod",              CC"("METASPACE_METHOD")Z",                                        FN_PTR(shouldInlineMethod)},
   {CC"getCompiledCodeSize",             CC"("METASPACE_METHOD")I",                                        FN_PTR(getCompiledCodeSize)},
   {CC"lookupType",                      CC"("STRING CLASS"Z)"METASPACE_KLASS,                             FN_PTR(lookupType)},
-  {CC"lookupKlassByName",               CC"("STRING CLASS")"METASPACE_KLASS,                              FN_PTR(lookupKlassByName)},
   {CC"lookupConstantInPool",            CC"("METASPACE_CONSTANT_POOL"I)"OBJECT,                           FN_PTR(lookupConstantInPool)},
   {CC"lookupNameRefInPool",             CC"("METASPACE_CONSTANT_POOL"I)"METASPACE_SYMBOL,                 FN_PTR(lookupNameRefInPool)},
   {CC"lookupNameAndTypeRefIndexInPool", CC"("METASPACE_CONSTANT_POOL"I)I",                                FN_PTR(lookupNameAndTypeRefIndexInPool)},