RFR(XS): 8028064: tiered may collect wrong receiver type at virtual call

Igor Veresov igor.veresov at oracle.com
Mon Nov 18 16:01:55 PST 2013


Looks ok. Thanks for noticing this.

igor

On Nov 18, 2013, at 12:51 PM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> When there’s a unique possible callee method, tiered optimizes profile collection by using the callee’s holder as unique possible class. That’s incorrect. For instance, with this class hierarchy:
>    class A {
>        void m() {}
>    }
> 
>    class B extends A {
>    }
> 
> and this java code:
> B b
> b.m();
> 
> the callee’s holder is A but profiling should record B. The class itself should be tested as being final or leaf.
> 
> http://cr.openjdk.java.net/~roland/8028064/webrev.00/
> 
> Roland.



More information about the hotspot-compiler-dev mailing list