Mercurial > hg > truffle
changeset 13260:f795de8d8b71
use Unsafe.ensureClassInitialized in HotSpotResolvedObjectType.initialize
author | twisti |
---|---|
date | Sun, 08 Dec 2013 11:21:49 -0800 |
parents | b16fb0b7479b |
children | 0ffe9e4bb364 |
files | 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/HotSpotResolvedObjectType.java src/share/vm/graal/graalCompilerToVM.cpp |
diffstat | 4 files changed, 1 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Sun Dec 08 11:13:26 2013 -0800 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Sun Dec 08 11:21:49 2013 -0800 @@ -197,8 +197,6 @@ JavaMethod resolveMethod(HotSpotResolvedObjectType klass, String name, String signature); - void initializeType(HotSpotResolvedObjectType klass); - ResolvedJavaType getResolvedType(Class<?> javaClass); HotSpotResolvedJavaField[] getInstanceFields(HotSpotResolvedObjectType klass);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Sun Dec 08 11:13:26 2013 -0800 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Sun Dec 08 11:21:49 2013 -0800 @@ -100,9 +100,6 @@ public native boolean hasFinalizableSubclass(HotSpotResolvedObjectType klass); @Override - public native void initializeType(HotSpotResolvedObjectType klass); - - @Override public native void initializeMethod(long metaspaceMethod, HotSpotResolvedJavaMethod method); @Override
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Sun Dec 08 11:13:26 2013 -0800 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Sun Dec 08 11:21:49 2013 -0800 @@ -309,7 +309,7 @@ @Override public void initialize() { if (!isInitialized()) { - runtime().getCompilerToVM().initializeType(this); + unsafe.ensureClassInitialized(javaMirror); assert isInitialized(); } }
--- a/src/share/vm/graal/graalCompilerToVM.cpp Sun Dec 08 11:13:26 2013 -0800 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Sun Dec 08 11:21:49 2013 -0800 @@ -479,12 +479,6 @@ return Dependencies::find_finalizable_subclass(klass) != NULL; C2V_END -C2V_VMENTRY(void, initializeType, (JNIEnv *, jobject, jobject hotspot_klass)) - Klass* klass = java_lang_Class::as_Klass(HotSpotResolvedObjectType::javaMirror(hotspot_klass)); - assert(klass != NULL, "method must not be called for primitive types"); - InstanceKlass::cast(klass)->initialize(JavaThread::current()); -C2V_END - C2V_VMENTRY(jobject, getInstanceFields, (JNIEnv *, jobject, jobject klass)) ResourceMark rm; @@ -1015,7 +1009,6 @@ {CC"getInstanceFields", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_FIELD, FN_PTR(getInstanceFields)}, {CC"getMethods", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_METHOD, FN_PTR(getMethods)}, {CC"hasFinalizableSubclass", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(hasFinalizableSubclass)}, - {CC"initializeType", CC"("HS_RESOLVED_TYPE")V", FN_PTR(initializeType)}, {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, {CC"getResolvedType", CC"("CLASS")"RESOLVED_TYPE, FN_PTR(getResolvedType)}, {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)},