# HG changeset patch # User Gilles Duboscq # Date 1400584408 -7200 # Node ID fb530b9fa474689c4b00213d26dbb2831e941ee6 # Parent 99662e393b52d6fa549c180537f326f909e81bb7 ResolvedJavaType.resolveMethod: fix javadoc, add assert in native code. update changelog diff -r 99662e393b52 -r fb530b9fa474 CHANGELOG.md --- a/CHANGELOG.md Tue May 20 12:40:07 2014 +0200 +++ b/CHANGELOG.md Tue May 20 13:13:28 2014 +0200 @@ -5,6 +5,7 @@ * Made initialization of Graal runtime lazy in hosted mode. * Added supported for new 'jrelibrary' dependency type in mx/projects. * Java projects with compliance level higher than the JDKs specified by JAVA_HOME and EXTRA_JAVA_HOMES are ignored once mx/projects has been processed. +* ResolvedJavaType.resolveMethod now takes a context type used to perform access checks. It now works correctly regarding default methods. ### Truffle * `truffle.jar`: strip out build-time only dependency into a seperated JAR file (`truffle-dsl-processor.jar`) diff -r 99662e393b52 -r fb530b9fa474 graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java --- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java Tue May 20 12:40:07 2014 +0200 +++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java Tue May 20 13:13:28 2014 +0200 @@ -211,6 +211,7 @@ * {@link #findUniqueConcreteMethod(ResolvedJavaMethod)}. * * @param method the method to select the implementation of + * @param callerType the caller or context type used to perform access checks * @return the concrete method that would be selected at runtime, or {@code null} if there is no * concrete implementation of {@code method} in this type or any of its superclasses */ diff -r 99662e393b52 -r fb530b9fa474 src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Tue May 20 12:40:07 2014 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Tue May 20 13:13:28 2014 +0200 @@ -471,7 +471,7 @@ C2V_VMENTRY(jint, getVtableIndexForInterface, (JNIEnv *, jobject, jlong metaspace_klass, jlong metaspace_method)) Klass* klass = (Klass*) metaspace_klass; Method* method = (Method*) metaspace_method; - + assert(!klass->is_interface(), ""); return LinkResolver::vtable_index_of_interface_method(klass, method); C2V_END