< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.jtt/src/org/graalvm/compiler/lir/jtt/SPARCBranchBailoutTest.java

Print this page

        

*** 23,43 **** package org.graalvm.compiler.lir.jtt; import org.graalvm.compiler.api.directives.GraalDirectives; ! import org.graalvm.compiler.core.common.PermanentBailoutException; import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.DebugContext.Scope; - import org.graalvm.compiler.debug.GraalError; import org.graalvm.compiler.lir.LIRInstruction; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; import org.graalvm.compiler.lir.gen.LIRGeneratorTool; import org.graalvm.compiler.nodes.StructuredGraph; import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; - import org.junit.Assert; import org.junit.Assume; import org.junit.Test; import jdk.vm.ci.code.BailoutException; import jdk.vm.ci.meta.ResolvedJavaMethod; --- 23,41 ---- package org.graalvm.compiler.lir.jtt; import org.graalvm.compiler.api.directives.GraalDirectives; ! import org.graalvm.compiler.asm.BranchTargetOutOfBoundsException; import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.DebugContext.Scope; import org.graalvm.compiler.lir.LIRInstruction; import org.graalvm.compiler.lir.LIRInstructionClass; import org.graalvm.compiler.lir.asm.CompilationResultBuilder; import org.graalvm.compiler.lir.gen.LIRGeneratorTool; import org.graalvm.compiler.nodes.StructuredGraph; import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; import org.junit.Assume; import org.junit.Test; import jdk.vm.ci.code.BailoutException; import jdk.vm.ci.meta.ResolvedJavaMethod;
*** 80,101 **** } return GraalDirectives.opaque(res); } @SuppressWarnings("try") ! @Test public void testBailoutOnBranchOverflow() throws Throwable { Assume.assumeTrue(getBackend().getTarget().arch instanceof SPARC); ResolvedJavaMethod m = getResolvedJavaMethod("testBranch"); DebugContext debug = getDebugContext(); ! try { ! try (Scope s = debug.disable()) { ! StructuredGraph graph = parseEager(m, AllowAssumptions.YES, debug); ! compile(m, graph); ! } ! } catch (GraalError e) { ! Assert.assertEquals(PermanentBailoutException.class, e.getCause().getClass()); } } public static class LargeOp extends LIRInstruction { private static final LIRInstructionClass<LargeOp> TYPE = LIRInstructionClass.create(LargeOp.class); --- 78,95 ---- } return GraalDirectives.opaque(res); } @SuppressWarnings("try") ! @Test(expected = BranchTargetOutOfBoundsException.class) public void testBailoutOnBranchOverflow() throws Throwable { Assume.assumeTrue(getBackend().getTarget().arch instanceof SPARC); ResolvedJavaMethod m = getResolvedJavaMethod("testBranch"); DebugContext debug = getDebugContext(); ! try (Scope s = debug.disable()) { ! StructuredGraph graph = parseEager(m, AllowAssumptions.YES, debug); ! compile(m, graph); } } public static class LargeOp extends LIRInstruction { private static final LIRInstructionClass<LargeOp> TYPE = LIRInstructionClass.create(LargeOp.class);
< prev index next >