public class Test {
    static Object[] oArr = new A[100];

    public static void main(String[] args) {
        oArr[0] = new A();
        for (int i = 0; i < 10000; i++) {
            test();
        }
    }

    static void test() {
        Object[] oA = oArr;
        Object o = oA[0];
        o.toString(); // Use the object with its speculated type.
    }
}

value class A {
    public String toString() {
        return "override";
    }
}
