# HG changeset patch # User Doug Simon # Date 1394269484 -3600 # Node ID 2b2f0022900f7d11fd648636710efb2b9e9c3730 # Parent be7ebdf41beab04d8898436db1ad9de5a3602885 removed unnecessary lookupKlassByName method diff -r be7ebdf41bea -r 2b2f0022900f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java --- 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); } diff -r be7ebdf41bea -r 2b2f0022900f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java --- 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); diff -r be7ebdf41bea -r 2b2f0022900f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java --- 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 diff -r be7ebdf41bea -r 2b2f0022900f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java --- 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); diff -r be7ebdf41bea -r 2b2f0022900f src/share/vm/graal/graalCompilerToVM.cpp --- 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)},