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