Mercurial > hg > graal-compiler
diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java @ 1428:695451afc619
refactoring classes into separate files
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Thu, 19 Aug 2010 14:34:52 -0700 |
parents | 149b1d2316de |
children | abc670a709dc |
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java Wed Aug 18 16:47:06 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java Thu Aug 19 14:34:52 2010 -0700 @@ -35,17 +35,17 @@ */ public class HotSpotXirGenerator implements RiXirGenerator { - // this needs to correspond to c1x_Compiler.hpp - private static final Integer MARK_VERIFIED_ENTRY = 1; - private static final Integer MARK_UNVERIFIED_ENTRY = 2; - private static final Integer MARK_OSR_ENTRY = 3; - private static final Integer MARK_STATIC_CALL_STUB = 1000; - - private static final Integer MARK_INVOKE_INVALID = 2000; - private static final Integer MARK_INVOKEINTERFACE = 2001; - private static final Integer MARK_INVOKESTATIC = 2002; - private static final Integer MARK_INVOKESPECIAL = 2003; - private static final Integer MARK_INVOKEVIRTUAL = 2004; + // this needs to correspond to c1x_CodeInstaller.hpp + private static final Integer MARK_VERIFIED_ENTRY = 0x0001; + private static final Integer MARK_UNVERIFIED_ENTRY = 0x0002; + private static final Integer MARK_OSR_ENTRY = 0x0003; + private static final Integer MARK_STATIC_CALL_STUB = 0x1000; + private static final Integer MARK_INVOKE_INVALID = 0x2000; + private static final Integer MARK_INVOKEINTERFACE = 0x2001; + private static final Integer MARK_INVOKESTATIC = 0x2002; + private static final Integer MARK_INVOKESPECIAL = 0x2003; + private static final Integer MARK_INVOKEVIRTUAL = 0x2004; + private static final Integer MARK_IMPLICIT_NULL_EXCEPTION_TARGET = 0x3000; private final HotSpotVMConfig config; private final CiTarget target; @@ -447,6 +447,9 @@ asm.jmp(dummy); asm.bindOutOfLine(dummy); + asm.mark(MARK_IMPLICIT_NULL_EXCEPTION_TARGET, XirMark.CALLSITE); + asm.callRuntime(config.throwImplicitNullStub, null); + return asm.finishTemplate(addr, "invokespecial"); }