8152903: [JVMCI] CompilerToVM::resolveMethod should correctly handle private methods in interfaces

Reviewed-by: iveresov
This commit is contained in:
Tom Rodriguez 2016-04-27 16:20:49 -07:00
parent 8cb0a98032
commit 593cf3fb16
12 changed files with 105 additions and 141 deletions

View file

@ -137,8 +137,14 @@ public class ResolveMethodTest {
HotSpotResolvedObjectType callerMetaspace = CompilerToVMHelper
.lookupType(Utils.toJVMTypeSignature(tcase.caller),
getClass(), /* resolve = */ true);
HotSpotResolvedObjectType receiverMetaspace = CompilerToVMHelper
.lookupType(Utils.toJVMTypeSignature(tcase.receiver),
getClass(), /* resolve = */ true);
// Can only resolve methods on a linked class so force initialization
receiverMetaspace.initialize();
HotSpotResolvedJavaMethod resolvedMetaspaceMethod
= CompilerToVMHelper.resolveMethod(holderMetaspace,
= CompilerToVMHelper.resolveMethod(receiverMetaspace,
metaspaceMethod, callerMetaspace);
if (tcase.isPositive) {
Asserts.assertNotNull(resolvedMetaspaceMethod,