src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAReadEliminationTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAReadEliminationTest.java Mon Mar 20 17:37:40 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAReadEliminationTest.java Mon Mar 20 17:37:40 2017
*** 26,36 ****
--- 26,36 ----
import sun.misc.Unsafe;
import org.graalvm.compiler.nodes.StructuredGraph;
import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
! import org.graalvm.compiler.nodes.extended.UnsafeLoadNode;
! import org.graalvm.compiler.nodes.extended.RawLoadNode;
import org.graalvm.compiler.nodes.java.LoadIndexedNode;
import org.graalvm.compiler.nodes.java.StoreIndexedNode;
import org.graalvm.compiler.phases.common.CanonicalizerPhase;
import org.graalvm.compiler.phases.common.inlining.InliningPhase;
import org.graalvm.compiler.phases.tiers.HighTierContext;
*** 128,138 ****
--- 128,138 ----
}
@Test
public void testUnsafe1() {
StructuredGraph graph = processMethod("testUnsafe1Snippet", false);
! assertDeepEquals(1, graph.getNodes().filter(UnsafeLoadNode.class).count());
! assertDeepEquals(1, graph.getNodes().filter(RawLoadNode.class).count());
}
public static int testUnsafe2Snippet(int v, Object array) {
int s = UNSAFE.getInt(array, offsetInt1);
UNSAFE.putInt(array, offsetInt1, v);
*** 141,151 ****
--- 141,151 ----
}
@Test
public void testUnsafe2() {
StructuredGraph graph = processMethod("testUnsafe2Snippet", false);
! assertDeepEquals(3, graph.getNodes().filter(UnsafeLoadNode.class).count());
! assertDeepEquals(3, graph.getNodes().filter(RawLoadNode.class).count());
}
private static final long offsetObject1 = Unsafe.ARRAY_OBJECT_BASE_OFFSET + Unsafe.ARRAY_OBJECT_INDEX_SCALE * 1;
private static final long offsetObject2 = Unsafe.ARRAY_OBJECT_BASE_OFFSET + Unsafe.ARRAY_OBJECT_INDEX_SCALE * 2;
*** 157,167 ****
--- 157,167 ----
}
@Test
public void testUnsafe3() {
StructuredGraph graph = processMethod("testUnsafe3Snippet", false);
! assertDeepEquals(1, graph.getNodes().filter(UnsafeLoadNode.class).count());
! assertDeepEquals(1, graph.getNodes().filter(RawLoadNode.class).count());
}
public static int testUnsafe4Snippet(int v, Object[] array) {
int s = (Integer) UNSAFE.getObject(array, offsetObject1);
UNSAFE.putObject(array, offsetObject1, v);
*** 171,181 ****
--- 171,181 ----
}
@Test
public void testUnsafe4() {
StructuredGraph graph = processMethod("testUnsafe4Snippet", false);
! assertDeepEquals(3, graph.getNodes().filter(UnsafeLoadNode.class).count());
! assertDeepEquals(3, graph.getNodes().filter(RawLoadNode.class).count());
}
private static final long offsetLong1 = Unsafe.ARRAY_LONG_BASE_OFFSET + Unsafe.ARRAY_LONG_INDEX_SCALE * 1;
private static final long offsetLong2 = Unsafe.ARRAY_LONG_BASE_OFFSET + Unsafe.ARRAY_LONG_INDEX_SCALE * 2;
*** 187,203 ****
--- 187,203 ----
}
@Test
public void testUnsafe5() {
StructuredGraph graph = processMethod("testUnsafe5Snippet", false);
! assertDeepEquals(1, graph.getNodes().filter(UnsafeLoadNode.class).count());
! assertDeepEquals(1, graph.getNodes().filter(RawLoadNode.class).count());
}
@Override
protected StructuredGraph processMethod(final String snippet, boolean doLowering) {
StructuredGraph graph = parseEager(snippet, AllowAssumptions.NO);
HighTierContext context = getDefaultHighTierContext();
new InliningPhase(new CanonicalizerPhase()).apply(graph, context);
! new PartialEscapePhase(false, true, new CanonicalizerPhase(), null, graph.getOptions()).apply(graph, context);
return graph;
}
}
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/PEAReadEliminationTest.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File