aoqi@0: /* aoqi@0: * @test aoqi@0: * @bug 6894807 aoqi@0: * @summary No ClassCastException for HashAttributeSet constructors if run with -Xcomp aoqi@0: * @compile IsInstanceTest.java aoqi@0: * @run shell Test6894807.sh aoqi@0: */ aoqi@0: aoqi@0: public class IsInstanceTest { aoqi@0: aoqi@0: public static void main(String[] args) { aoqi@0: BaseInterface baseInterfaceImpl = new BaseInterfaceImpl(); aoqi@0: for (int i = 0; i < 100000; i++) { aoqi@0: if (isInstanceOf(baseInterfaceImpl, ExtendedInterface.class)) { aoqi@0: System.out.println("Failed at index:" + i); aoqi@0: System.out.println("Arch: "+System.getProperty("os.arch", "")+ aoqi@0: " OS: "+System.getProperty("os.name", "")+ aoqi@0: " OSV: "+System.getProperty("os.version", "")+ aoqi@0: " Cores: "+Runtime.getRuntime().availableProcessors()+ aoqi@0: " JVM: "+System.getProperty("java.version", "")+" "+System.getProperty("sun.arch.data.model", "")); aoqi@0: break; aoqi@0: } aoqi@0: } aoqi@0: System.out.println("Done!"); aoqi@0: } aoqi@0: aoqi@0: public static boolean isInstanceOf(BaseInterface baseInterfaceImpl, Class... baseInterfaceClasses) { aoqi@0: for (Class baseInterfaceClass : baseInterfaceClasses) { aoqi@0: if (baseInterfaceClass.isInstance(baseInterfaceImpl)) { aoqi@0: return true; aoqi@0: } aoqi@0: } aoqi@0: return false; aoqi@0: } aoqi@0: aoqi@0: private interface BaseInterface { aoqi@0: } aoqi@0: aoqi@0: private interface ExtendedInterface extends BaseInterface { aoqi@0: } aoqi@0: aoqi@0: private static class BaseInterfaceImpl implements BaseInterface { aoqi@0: } aoqi@0: }