Mercurial > hg > graal-compiler
view test/compiler/6894807/IsInstanceTest.java @ 4181:319860ae697a
Simplify FrameMap: make offsets of spill slots and outgoing parameters independent so that they can be allocated at the same time, eliminating the separate phases. This makes the separate StackBlock unnecesary. Change CiStackSlot to use byte offsets instead of spill slot index. This makes CiTarget.spillSlotSize unnecessary.
author | Christian Wimmer <Christian.Wimmer@Oracle.com> |
---|---|
date | Mon, 02 Jan 2012 14:16:08 -0800 |
parents | 495caa35b1b5 |
children |
line wrap: on
line source
/* * @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 { } }