<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Good.<div class=""><br class=""></div><div class="">igor</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 27, 2016, at 4:51 PM, Tom Rodriguez <<a href="mailto:tom.rodriguez@oracle.com" class="">tom.rodriguez@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">One of the jtreg tests had to be fixed after these changes, so I’ve updated the webrev.  The only changed file is <a href="http://cr.openjdk.java.net/~never/8152903/webrev/test/compiler/jvmci/compilerToVM/ResolveMethodTest.java.udiff.html" class="">http://cr.openjdk.java.net/~never/8152903/webrev/test/compiler/jvmci/compilerToVM/ResolveMethodTest.java.udiff.html</a><div class=""><br class=""></div><div class="">The test case was actually resolving the method against the holder type instead of the receiver but this only mattered for interface types.  We also require the type to be linked before answering the question so we have to force initialization.  <br class=""><div class=""><br class=""></div><div class="">tom</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 21, 2016, at 8:23 PM, Igor Veresov <<a href="mailto:igor.veresov@oracle.com" class="">igor.veresov@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Looks good!<div class=""><br class=""></div><div class="">igor</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Apr 21, 2016, at 6:22 PM, Tom Rodriguez <<a href="mailto:tom.rodriguez@oracle.com" class="">tom.rodriguez@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""> <div class=""><a href="http://cr.openjdk.java.net/~never/8152903/webrev" class="">http://cr.openjdk.java.net/~never/8152903/webrev</a> <br class=""><br class="">JVMCI had it own custom version of the resolution logic when it should be doing something similar to what ciMethod::resolve_invoke is doing. This required a semantic change that if the type is an interface no meaningful answer can be provided. I updated tests and the interface a little to reflect this. <br class=""><br class="">Making this change exposed a problem with -Xcomp where the resolution by the compiler was triggering compilation instead of the first real invoke. I rearranged the code a little for this to ensure that code wasn't executed for the Compiler thread. It passes the graal gate with these changes.  A modified version of the test which found the issue also passes now.  I filed a bug suggesting changes to that test that would make it work better with compiler like C2 and Graal that don’t handle unloaded classes.  <a href="https://bugs.openjdk.java.net/browse/JDK-8154904" class="">https://bugs.openjdk.java.net/browse/JDK-8154904</a></div><div class=""><br class=""></div><div class="">tom</div> </div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></body></html>