On Jan 15, 2014, at 6:49 PM, Christian Thalinger 
<christian.thalin...@oracle.com> wrote:

> John would know the answer.
> 
> Given this change should go into JDK 8 I think we should push for now.  If we 
> can come up with a better way to handle these situations we can push another 
> change for 9 or 8u20.

(Back from vacation.)

Vladimir's change for bytecode generation is safe.  It assumes something 
stable, which is that virtual invocation mode can apply to interfaces only 
because they inherit Object.  Therefore we can back off from invokevirtual to 
invokeinterface, without changing behavior.

FTR, this fix may be redundant with this changeset:
  http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/9063bd8808a7

...and specifically with the line of code which says "m_klass = 
m_klass_non_interface".  This redundancy is of the belt-and-suspenders kind; it 
could be changed to an assert, but is fine the way it is.

Thanks for fixing this!

— John

Reply via email to