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

Roland Westrelin roland.westrelin at oracle.com
Mon Nov 18 12:51:57 PST 2013


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