Mercurial > hg > truffle
changeset 18845:f57d86eb036f
removed Node factory methods
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/MemoryBarriers.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/MemoryBarriers.java Mon Jan 12 20:39:04 2015 +0100 @@ -24,7 +24,7 @@ /** * Constants and intrinsic definition for memory barriers. - * + * * The documentation for each constant is taken from Doug Lea's <a * href="http://gee.cs.oswego.edu/dl/jmm/cookbook.html">The JSR-133 Cookbook for Compiler * Writers</a>. @@ -32,7 +32,7 @@ * The {@code JMM_*} constants capture the memory barriers necessary to implement the Java Memory * Model with respect to volatile field accesses. Their values are explained by this comment from * templateTable_i486.cpp in the HotSpot source code: - * + * * <pre> * Volatile variables demand their effects be made known to all CPU's in * order. Store buffers on most chips allow reads & writes to reorder; the
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java Mon Jan 12 20:39:04 2015 +0100 @@ -245,7 +245,7 @@ } default JavaType[] toParameterTypes() { - JavaType receiver = isStatic() ? null : getDeclaringClass(); + JavaType receiver = isStatic() || isConstructor() ? null : getDeclaringClass(); return getSignature().toParameterTypes(receiver); }
--- a/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java Mon Jan 12 20:39:04 2015 +0100 @@ -110,10 +110,16 @@ } Class<?> c = resolveClassForSnippet(method.getDeclaringClass()); - Method javaMethod = c.getDeclaredMethod(method.getName(), parameterClasses); - javaMethod.setAccessible(true); - return javaMethod.invoke(receiver, args); - } catch (IllegalAccessException | InvocationTargetException | ClassNotFoundException | NoSuchMethodException ex) { + if (method.isConstructor()) { + Constructor<?> javaConstructor = c.getDeclaredConstructor(parameterClasses); + javaConstructor.setAccessible(true); + return javaConstructor.newInstance(args); + } else { + Method javaMethod = c.getDeclaredMethod(method.getName(), parameterClasses); + javaMethod.setAccessible(true); + return javaMethod.invoke(receiver, args); + } + } catch (IllegalAccessException | InstantiationException | InvocationTargetException | ClassNotFoundException | NoSuchMethodException ex) { throw new IllegalArgumentException(ex); } }
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSensitiveReductionTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSensitiveReductionTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -175,10 +175,10 @@ new CanonicalizerPhase(true).apply(graph, new PhaseContext(getProviders(), null)); IfNode ifNode = (IfNode) graph.start().next(); InstanceOfNode instanceOf = (InstanceOfNode) ifNode.condition(); - IsNullNode x = graph.unique(IsNullNode.create(graph.getParameter(0))); + IsNullNode x = graph.unique(new IsNullNode(graph.getParameter(0))); InstanceOfNode y = instanceOf; - ShortCircuitOrNode disjunction = graph.unique(ShortCircuitOrNode.create(x, false, y, false, NOT_FREQUENT_PROBABILITY)); - LogicNegationNode negation = graph.unique(LogicNegationNode.create(disjunction)); + ShortCircuitOrNode disjunction = graph.unique(new ShortCircuitOrNode(x, false, y, false, NOT_FREQUENT_PROBABILITY)); + LogicNegationNode negation = graph.unique(new LogicNegationNode(disjunction)); ifNode.setCondition(negation); new CanonicalizerPhase(true).apply(graph, new PhaseContext(getProviders(), null)); new FlowSensitiveReductionPhase(getMetaAccess()).apply(graph, new PhaseContext(getProviders(), null));
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodePosIteratorTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodePosIteratorTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,18 +41,14 @@ @Input ConstantNode i1; @Input FloatingNode i2; - public static TestNode create() { - return new TestNode(); + public TestNode() { } - protected TestNode() { - // TODO Auto-generated constructor stub - } } @Test public void testInputs() { - TestNode n = TestNode.create(); + TestNode n = new TestNode(); ConstantNode i1 = ConstantNode.forInt(1); ConstantNode i2 = ConstantNode.forDouble(1.0d); @@ -139,11 +135,11 @@ @Test public void testSuccessors() { - TestNode n = TestNode.create(); - EndNode s1 = EndNode.create(); - EndNode s2 = EndNode.create(); - EndNode s3 = EndNode.create(); - EndNode s4 = EndNode.create(); + TestNode n = new TestNode(); + EndNode s1 = new EndNode(); + EndNode s2 = new EndNode(); + EndNode s3 = new EndNode(); + EndNode s4 = new EndNode(); n.s1 = s1; n.s2 = s2; n.stail = new NodeSuccessorList<>(n, new Node[]{s3, s4});
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,21 +42,21 @@ public void testImplies() { StructuredGraph graph = new StructuredGraph(); - AbstractEndNode trueEnd = graph.add(EndNode.create()); - AbstractEndNode falseEnd = graph.add(EndNode.create()); + AbstractEndNode trueEnd = graph.add(new EndNode()); + AbstractEndNode falseEnd = graph.add(new EndNode()); - BeginNode trueBegin = graph.add(BeginNode.create()); + BeginNode trueBegin = graph.add(new BeginNode()); trueBegin.setNext(trueEnd); - BeginNode falseBegin = graph.add(BeginNode.create()); + BeginNode falseBegin = graph.add(new BeginNode()); falseBegin.setNext(falseEnd); - IfNode ifNode = graph.add(IfNode.create(null, trueBegin, falseBegin, 0.5)); + IfNode ifNode = graph.add(new IfNode(null, trueBegin, falseBegin, 0.5)); graph.start().setNext(ifNode); - MergeNode merge = graph.add(MergeNode.create()); + MergeNode merge = graph.add(new MergeNode()); merge.addForwardEnd(trueEnd); merge.addForwardEnd(falseEnd); - ReturnNode returnNode = graph.add(ReturnNode.create(null)); + ReturnNode returnNode = graph.add(new ReturnNode(null)); merge.setNext(returnNode); dumpGraph(graph);
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -276,8 +276,9 @@ return obj2.x instanceof TestClassObject; } + @SuppressWarnings("unused") public static void testNewNodeSnippet() { - ValueAnchorNode.create(null); + new ValueAnchorNode(null); } /**
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,10 +36,6 @@ static class TestNode extends Node { protected TestNode() { } - - public static TestNode create() { - return new TestNode(); - } } private Graph graph; @@ -53,7 +49,7 @@ graph = new Graph(); for (int i = 0; i < nodes.length; i++) { - nodes[i] = graph.add(TestNode.create()); + nodes[i] = graph.add(new TestNode()); } map = new NodeMap<>(graph); for (int i = 0; i < nodes.length; i += 2) { @@ -114,7 +110,7 @@ * Failing here is not required, but if this behavior changes, usages of get need to be * checked for compatibility. */ - TestNode newNode = graph.add(TestNode.create()); + TestNode newNode = graph.add(new TestNode()); try { map.get(newNode); fail("expected " + (assertionsEnabled() ? AssertionError.class.getSimpleName() : ArrayIndexOutOfBoundsException.class.getSimpleName())); @@ -131,7 +127,7 @@ * Failing here is not required, but if this behavior changes, usages of set need to be * checked for compatibility. */ - TestNode newNode = graph.add(TestNode.create()); + TestNode newNode = graph.add(new TestNode()); try { map.set(newNode, 1); fail("expected " + (assertionsEnabled() ? AssertionError.class.getSimpleName() : ArrayIndexOutOfBoundsException.class.getSimpleName())); @@ -144,13 +140,13 @@ @Test public void testNewGetAndGrow() { - TestNode newNode = graph.add(TestNode.create()); + TestNode newNode = graph.add(new TestNode()); assertEquals(null, map.getAndGrow(newNode)); } @Test public void testNewSetAndGrow() { - TestNode newNode = graph.add(TestNode.create()); + TestNode newNode = graph.add(new TestNode()); map.setAndGrow(newNode, 1); assertEquals((Integer) 1, map.get(newNode)); }
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,6 @@ @NodeInfo static class Def extends Node { protected Def() { - // TODO Auto-generated constructor stub - } - - public static Def create() { - return new Def(); } } @@ -50,25 +45,22 @@ @Input Def in1; @Input Def in2; - public static Use create(Def in0, Def in1, Def in2) { - return new Use(in0, in1, in2); - } - - protected Use(Def in0, Def in1, Def in2) { + public Use(Def in0, Def in1, Def in2) { this.in0 = in0; this.in1 = in1; this.in2 = in2; } + } @Test public void testReplaceAtUsages() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -93,11 +85,11 @@ @Test public void testReplaceAtUsagesWithPredicateAll() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -122,11 +114,11 @@ @Test public void testReplaceAtUsagesWithPredicateNone() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -151,11 +143,11 @@ @Test public void testReplaceAtUsagesWithPredicate1() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -182,11 +174,11 @@ @Test public void testReplaceAtUsagesWithPredicate2() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -213,11 +205,11 @@ @Test public void testReplaceAtUsagesWithPredicate0() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -244,11 +236,11 @@ @Test public void testReplaceAtUsagesWithPredicate02() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -275,12 +267,12 @@ @Test public void testReplaceAtUsagesWithPredicate023() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); - Use use3 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); + Use use3 = graph.add(new Use(null, null, def0)); assertEquals(4, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -309,12 +301,12 @@ @Test public void testReplaceAtUsagesWithPredicate013() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); - Use use3 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); + Use use3 = graph.add(new Use(null, null, def0)); assertEquals(4, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -343,12 +335,12 @@ @Test public void testReplaceAtUsagesWithPredicate203() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); - Use use3 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); + Use use3 = graph.add(new Use(null, null, def0)); assertEquals(4, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -377,11 +369,11 @@ @Test public void testReplaceAtUsagesWithPredicate01() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0)); @@ -408,11 +400,11 @@ @Test public void testReplaceAtUsagesWithPredicate12() { Graph graph = new Graph(); - Def def0 = graph.add(Def.create()); - Def def1 = graph.add(Def.create()); - Use use0 = graph.add(Use.create(def0, null, null)); - Use use1 = graph.add(Use.create(null, def0, null)); - Use use2 = graph.add(Use.create(null, null, def0)); + Def def0 = graph.add(new Def()); + Def def1 = graph.add(new Def()); + Use use0 = graph.add(new Use(def0, null, null)); + Use use1 = graph.add(new Use(null, def0, null)); + Use use2 = graph.add(new Use(null, null, def0)); assertEquals(3, def0.usages().count()); assertThat(def0.usages(), contains(use0));
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ protected final String name; - public static TestNode create(String name) { - return new TestNode(name); - } - - protected TestNode(String name) { + public TestNode(String name) { this.name = name; } @@ -54,14 +50,14 @@ @Test public void singleNodeTest() { Graph graph = new Graph(); - graph.add(TestNode.create("a")); + graph.add(new TestNode("a")); assertTrue(graph.hasNode(TestNode.class)); assertEquals("a", toString(graph.getNodes(TestNode.class))); } @Test public void deletingNodeTest() { - TestNode testNode = TestNode.create("a"); + TestNode testNode = new TestNode("a"); Graph graph = new Graph(); graph.add(testNode); testNode.safeDelete(); @@ -70,29 +66,29 @@ @Test public void deleteAndAddTest() { - TestNode testNode = TestNode.create("b"); + TestNode testNode = new TestNode("b"); Graph graph = new Graph(); - graph.add(TestNode.create("a")); + graph.add(new TestNode("a")); graph.add(testNode); testNode.safeDelete(); assertEquals("a", toString(graph.getNodes(TestNode.class))); - graph.add(TestNode.create("c")); + graph.add(new TestNode("c")); assertEquals("ac", toString(graph.getNodes(TestNode.class))); } @Test public void iteratorBehaviorTest() { Graph graph = new Graph(); - graph.add(TestNode.create("a")); + graph.add(new TestNode("a")); Iterator<TestNode> iterator = graph.getNodes(TestNode.class).iterator(); assertTrue(iterator.hasNext()); assertEquals("a", iterator.next().getName()); assertFalse(iterator.hasNext()); - graph.add(TestNode.create("b")); + graph.add(new TestNode("b")); assertTrue(iterator.hasNext()); assertEquals("b", iterator.next().getName()); assertFalse(iterator.hasNext()); - TestNode c = TestNode.create("c"); + TestNode c = new TestNode("c"); graph.add(c); assertTrue(iterator.hasNext()); c.safeDelete(); @@ -102,26 +98,26 @@ @Test public void complicatedIterationTest() { Graph graph = new Graph(); - graph.add(TestNode.create("a")); + graph.add(new TestNode("a")); for (TestNode tn : graph.getNodes(TestNode.class)) { String name = tn.getName(); for (int i = 0; i < name.length(); ++i) { char c = name.charAt(i); if (c == 'a') { tn.safeDelete(); - graph.add(TestNode.create("b")); - graph.add(TestNode.create("c")); + graph.add(new TestNode("b")); + graph.add(new TestNode("c")); } else if (c == 'b') { tn.safeDelete(); } else if (c == 'c') { - graph.add(TestNode.create("d")); - graph.add(TestNode.create("e")); - graph.add(TestNode.create("d")); - graph.add(TestNode.create("e")); - graph.add(TestNode.create("e")); - graph.add(TestNode.create("d")); - graph.add(TestNode.create("e")); - graph.add(TestNode.create("d")); + graph.add(new TestNode("d")); + graph.add(new TestNode("e")); + graph.add(new TestNode("d")); + graph.add(new TestNode("e")); + graph.add(new TestNode("e")); + graph.add(new TestNode("d")); + graph.add(new TestNode("e")); + graph.add(new TestNode("d")); } else if (c == 'd') { for (TestNode tn2 : graph.getNodes(TestNode.class)) { if (tn2.getName().equals("e")) { @@ -141,12 +137,12 @@ @Test public void addingNodeDuringIterationTest() { Graph graph = new Graph(); - graph.add(TestNode.create("a")); + graph.add(new TestNode("a")); StringBuilder sb = new StringBuilder(); int z = 0; for (TestNode tn : graph.getNodes(TestNode.class)) { if (z == 0) { - graph.add(TestNode.create("b")); + graph.add(new TestNode("b")); } sb.append(tn.getName()); z++; @@ -156,7 +152,7 @@ z = 0; for (TestNode tn : graph.getNodes(TestNode.class)) { if (z == 0) { - graph.add(TestNode.create("c")); + graph.add(new TestNode("c")); } assertNotNull(tn); z++;
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ protected final String name; - public static NodeA create(String name) { - return new NodeA(name); - } - - protected NodeA(String name) { + public NodeA(String name) { this.name = name; } @@ -52,42 +48,33 @@ @NodeInfo static class NodeB extends NodeA implements IterableNodeType { - public static NodeB create(String name) { - return new NodeB(name); + public NodeB(String name) { + super(name); } - protected NodeB(String name) { - super(name); - } } @NodeInfo static class NodeC extends NodeB { - public static NodeC create(String name) { - return new NodeC(name); + public NodeC(String name) { + super(name); } - protected NodeC(String name) { - super(name); - } } @NodeInfo static class NodeD extends NodeC { - public static NodeD create(String name) { - return new NodeD(name); + public NodeD(String name) { + super(name); } - protected NodeD(String name) { - super(name); - } } @Test public void simpleSubclassTest() { Graph graph = new Graph(); - graph.add(NodeB.create("b")); - graph.add(NodeD.create("d")); + graph.add(new NodeB("b")); + graph.add(new NodeD("d")); Assert.assertEquals("bd", TypedNodeIteratorTest.toString(graph.getNodes(NodeB.class))); Assert.assertEquals("d", TypedNodeIteratorTest.toString(graph.getNodes(NodeD.class))); @@ -96,19 +83,19 @@ @Test public void addingNodeDuringIterationTest() { Graph graph = new Graph(); - graph.add(NodeB.create("b1")); - NodeD d1 = graph.add(NodeD.create("d1")); + graph.add(new NodeB("b1")); + NodeD d1 = graph.add(new NodeD("d1")); StringBuilder sb = new StringBuilder(); for (NodeB tn : graph.getNodes(NodeB.class)) { if (tn == d1) { - graph.add(NodeB.create("b2")); + graph.add(new NodeB("b2")); } sb.append(tn.getName()); } assertEquals("b1d1b2", sb.toString()); for (NodeB tn : graph.getNodes(NodeB.class)) { if (tn == d1) { - graph.add(NodeB.create("b3")); + graph.add(new NodeB("b3")); } assertNotNull(tn); }
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Mon Jan 12 20:39:04 2015 +0100 @@ -620,12 +620,9 @@ // Fully qualified annotation name is required to satisfy javac @com.oracle.graal.nodeinfo.NodeInfo static class PlaceHolderNode extends Node { - public static PlaceHolderNode create() { - return new PlaceHolderNode(); + public PlaceHolderNode() { } - protected PlaceHolderNode() { - } } static final Node PLACE_HOLDER = new PlaceHolderNode();
--- a/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -157,11 +157,7 @@ @Input protected ValueNode input; - public static LoadThroughPatchNode create(ValueNode input) { - return new LoadThroughPatchNode(input); - } - - protected LoadThroughPatchNode(ValueNode input) { + public LoadThroughPatchNode(ValueNode input) { super(input.stamp()); this.input = input; }
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java Mon Jan 12 20:39:04 2015 +0100 @@ -335,7 +335,7 @@ HotSpotVMConfig config = HotSpotGraalRuntime.runtime().getConfig(); RawNativeCallNodeFactory factory = new RawNativeCallNodeFactory() { public FixedWithNextNode createRawCallNode(Kind returnType, JavaConstant functionPointer, ValueNode... args) { - return AMD64RawNativeCallNode.create(returnType, functionPointer, args); + return new AMD64RawNativeCallNode(returnType, functionPointer, args); } }; Backend backend = HotSpotGraalRuntime.runtime().getBackend(AMD64.class);
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ protected final JavaConstant functionPointer; @Input NodeInputList<ValueNode> args; - public static AMD64RawNativeCallNode create(Kind returnType, JavaConstant functionPointer, ValueNode[] args) { - return new AMD64RawNativeCallNode(returnType, functionPointer, args); - } - - protected AMD64RawNativeCallNode(Kind returnType, JavaConstant functionPointer, ValueNode[] args) { + public AMD64RawNativeCallNode(Kind returnType, JavaConstant functionPointer, ValueNode[] args) { super(StampFactory.forKind(returnType)); this.functionPointer = functionPointer; this.args = new NodeInputList<>(this, args);
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java Mon Jan 12 20:39:04 2015 +0100 @@ -1074,10 +1074,10 @@ return null; } StructuredGraph hostGraph = new StructuredGraph(method, -2); - ParameterNode deoptId = hostGraph.unique(ParameterNode.create(0, StampFactory.intValue())); - ParameterNode hsailFrame = hostGraph.unique(ParameterNode.create(1, StampFactory.forKind(providers.getCodeCache().getTarget().wordKind))); - ParameterNode reasonAndAction = hostGraph.unique(ParameterNode.create(2, StampFactory.intValue())); - ParameterNode speculation = hostGraph.unique(ParameterNode.create(3, StampFactory.object())); + ParameterNode deoptId = hostGraph.unique(new ParameterNode(0, StampFactory.intValue())); + ParameterNode hsailFrame = hostGraph.unique(new ParameterNode(1, StampFactory.forKind(providers.getCodeCache().getTarget().wordKind))); + ParameterNode reasonAndAction = hostGraph.unique(new ParameterNode(2, StampFactory.intValue())); + ParameterNode speculation = hostGraph.unique(new ParameterNode(3, StampFactory.object())); BeginNode[] branches = new BeginNode[deopts.size() + 1]; int[] keys = new int[deopts.size()]; int[] keySuccessors = new int[deopts.size() + 1]; @@ -1100,7 +1100,7 @@ keyProbabilities[deopts.size()] = 0; // default keySuccessors[deopts.size()] = deopts.size(); branches[deopts.size()] = createHostCrashBranch(hostGraph, deoptId); - IntegerSwitchNode switchNode = hostGraph.add(IntegerSwitchNode.create(deoptId, branches, keys, keyProbabilities, keySuccessors)); + IntegerSwitchNode switchNode = hostGraph.add(new IntegerSwitchNode(deoptId, branches, keys, keyProbabilities, keySuccessors)); StartNode start = hostGraph.start(); start.setNext(switchNode); /* @@ -1111,16 +1111,16 @@ } private static BeginNode createHostCrashBranch(StructuredGraph hostGraph, ValueNode deoptId) { - VMErrorNode vmError = hostGraph.add(VMErrorNode.create("Error in HSAIL deopt. DeoptId=%d", deoptId)); + VMErrorNode vmError = hostGraph.add(new VMErrorNode("Error in HSAIL deopt. DeoptId=%d", deoptId)); // ConvertNode.convert(hostGraph, Kind.Long, deoptId))); - vmError.setNext(hostGraph.add(ReturnNode.create(ConstantNode.defaultForKind(hostGraph.method().getSignature().getReturnKind(), hostGraph)))); + vmError.setNext(hostGraph.add(new ReturnNode(ConstantNode.defaultForKind(hostGraph.method().getSignature().getReturnKind(), hostGraph)))); return BeginNode.begin(vmError); } private static BeginNode createHostDeoptBranch(DeoptimizingOp deopt, ParameterNode hsailFrame, ValueNode reasonAndAction, ValueNode speculation, HotSpotProviders providers, HotSpotVMConfig config, int numSRegs, int numDRegs) { - BeginNode branch = hsailFrame.graph().add(BeginNode.create()); - DynamicDeoptimizeNode deoptimization = hsailFrame.graph().add(DynamicDeoptimizeNode.create(reasonAndAction, speculation)); + BeginNode branch = hsailFrame.graph().add(new BeginNode()); + DynamicDeoptimizeNode deoptimization = hsailFrame.graph().add(new DynamicDeoptimizeNode(reasonAndAction, speculation)); deoptimization.setStateBefore(createFrameState(deopt.getFrameState().topFrame, hsailFrame, providers, config, numSRegs, numDRegs)); branch.setNext(deoptimization); return branch; @@ -1153,7 +1153,7 @@ locks[i] = lirValueToHirNode.apply(lockValue); monitorIds[i] = getMonitorIdForHotSpotMonitorValueFromFrame(lockValue, hsailFrame, hostGraph); } - FrameState frameState = hostGraph.add(FrameState.create(lowLevelFrame.getMethod(), lowLevelFrame.getBCI(), locals, stack, locks, monitorIds, lowLevelFrame.rethrowException, false)); + FrameState frameState = hostGraph.add(new FrameState(lowLevelFrame.getMethod(), lowLevelFrame.getBCI(), locals, stack, locks, monitorIds, lowLevelFrame.rethrowException, false)); if (outterFrameState != null) { frameState.setOuterFrameState(outterFrameState); } @@ -1168,7 +1168,7 @@ VirtualObject virtualObject = entry.getKey(); VirtualObjectNode virtualObjectNode = entry.getValue(); List<ValueNode> fieldValues = Arrays.stream(virtualObject.getValues()).map(lirValueToHirNode).collect(Collectors.toList()); - virtualStates.add(VirtualObjectState.create(virtualObjectNode, fieldValues)); + virtualStates.add(new VirtualObjectState(virtualObjectNode, fieldValues)); } // New virtual objects may have been discovered while processing the previous set. // Wait until a fixed point is reached @@ -1213,9 +1213,9 @@ private static ValueNode getNodeForVirtualObjectFromFrame(VirtualObject virtualObject, Map<VirtualObject, VirtualObjectNode> virtualObjects, StructuredGraph hostGraph) { return virtualObjects.computeIfAbsent(virtualObject, vo -> { if (vo.getType().isArray()) { - return hostGraph.add(VirtualArrayNode.create(vo.getType().getComponentType(), vo.getValues().length)); + return hostGraph.add(new VirtualArrayNode(vo.getType().getComponentType(), vo.getValues().length)); } else { - return hostGraph.add(VirtualInstanceNode.create(vo.getType(), true)); + return hostGraph.add(new VirtualInstanceNode(vo.getType(), true)); } }); } @@ -1228,14 +1228,14 @@ int intSize = providers.getCodeCache().getTarget().arch.getSizeInBytes(Kind.Int); if (regNumber >= HSAIL.s0.number && regNumber <= HSAIL.s31.number) { long offset = config.hsailFrameHeaderSize + intSize * (regNumber - HSAIL.s0.number); - location = ConstantLocationNode.create(FINAL_LOCATION, offset, hostGraph); + location = hostGraph.unique(new ConstantLocationNode(FINAL_LOCATION, offset)); } else if (regNumber >= HSAIL.d0.number && regNumber <= HSAIL.d15.number) { long offset = config.hsailFrameHeaderSize + intSize * numSRegs + longSize * (regNumber - HSAIL.d0.number); - location = ConstantLocationNode.create(FINAL_LOCATION, offset, hostGraph); + location = hostGraph.unique(new ConstantLocationNode(FINAL_LOCATION, offset)); } else { throw GraalInternalError.shouldNotReachHere("unknown hsail register: " + regNumber); } - valueNode = hostGraph.unique(FloatingReadNode.create(hsailFrame, location, null, StampFactory.forKind(valueKind))); + valueNode = hostGraph.unique(new FloatingReadNode(hsailFrame, location, null, StampFactory.forKind(valueKind))); return valueNode; } @@ -1246,8 +1246,8 @@ int longSize = providers.getCodeCache().getTarget().arch.getSizeInBytes(Kind.Long); int intSize = providers.getCodeCache().getTarget().arch.getSizeInBytes(Kind.Int); long offset = config.hsailFrameHeaderSize + (intSize * numSRegs) + (longSize * numDRegs) + HSAIL.getStackOffsetStart(slot, slotSizeInBits); - LocationNode location = ConstantLocationNode.create(FINAL_LOCATION, offset, hostGraph); - ValueNode valueNode = hostGraph.unique(FloatingReadNode.create(hsailFrame, location, null, StampFactory.forKind(valueKind))); + LocationNode location = hostGraph.unique(new ConstantLocationNode(FINAL_LOCATION, offset)); + ValueNode valueNode = hostGraph.unique(new FloatingReadNode(hsailFrame, location, null, StampFactory.forKind(valueKind))); return valueNode; } else { throw GraalInternalError.shouldNotReachHere("unsupported stack slot kind: " + valueKind);
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java Mon Jan 12 20:39:04 2015 +0100 @@ -94,7 +94,7 @@ default: reason = DeoptimizationReason.None; } - unwind.replaceAtPredecessor(graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateReprofile, reason))); + unwind.replaceAtPredecessor(graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, reason))); unwind.safeDelete(); } else { // unwind whose exception is not an instance of ForeignCallNode
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo public class HSAILDirectLoadAcquireNode extends DirectReadNode { - public static HSAILDirectLoadAcquireNode create(ValueNode address, Kind readKind) { - return new HSAILDirectLoadAcquireNode(address, readKind); - } - - protected HSAILDirectLoadAcquireNode(ValueNode address, Kind readKind) { + public HSAILDirectLoadAcquireNode(ValueNode address, Kind readKind) { super(address, readKind); }
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo public class HSAILDirectStoreReleaseNode extends DirectStoreNode { - public static HSAILDirectStoreReleaseNode create(ValueNode address, ValueNode value, Kind kind) { - return new HSAILDirectStoreReleaseNode(address, value, kind); - } - - protected HSAILDirectStoreReleaseNode(ValueNode address, ValueNode value, Kind kind) { + public HSAILDirectStoreReleaseNode(ValueNode address, ValueNode value, Kind kind) { super(address, value, kind); }
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo public class HSAILWorkItemAbsIdNode extends FixedWithNextNode implements LIRLowerable { - public static HSAILWorkItemAbsIdNode create() { - return new HSAILWorkItemAbsIdNode(); - } - - protected HSAILWorkItemAbsIdNode() { + public HSAILWorkItemAbsIdNode() { super(StampFactory.forKind(Kind.Int)); }
--- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXWrapperBuilder.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXWrapperBuilder.java Mon Jan 12 20:39:04 2015 +0100 @@ -192,7 +192,7 @@ InvokeNode kernelStart = createInvoke(getClass(), "getKernelStart", ConstantNode.forConstant(kernel.asConstant(), providers.getMetaAccess(), getGraph())); - AllocaNode buf = append(AllocaNode.create(bufSize / wordSize, wordKind, new BitSet())); + AllocaNode buf = append(new AllocaNode(bufSize / wordSize, wordKind, new BitSet())); ValueNode objectParametersOffsets; ValueNode pinnedObjects; ConstantNode nullWord = ConstantNode.forIntegerKind(wordKind, 0L, getGraph()); @@ -202,22 +202,22 @@ } else { int intsPerWord = wordSize / intSize; int slots = roundUp(objectSlots.size(), intsPerWord); - objectParametersOffsets = append(AllocaNode.create(slots, wordKind, new BitSet())); + objectParametersOffsets = append(new AllocaNode(slots, wordKind, new BitSet())); // No refmap for pinned objects list since kernel execution is (currently) GC unsafe - pinnedObjects = append(AllocaNode.create(objectSlots.size(), wordKind, new BitSet())); + pinnedObjects = append(new AllocaNode(objectSlots.size(), wordKind, new BitSet())); // Initialize the object parameter offsets array int index = 0; for (int slot : objectSlots) { int offset = slot * wordSize; - LocationNode location = ConstantLocationNode.create(FINAL_LOCATION, index * intSize, getGraph()); - append(WriteNode.create(objectParametersOffsets, ConstantNode.forInt(offset, getGraph()), location, BarrierType.NONE, false)); + LocationNode location = getGraph().unique(new ConstantLocationNode(FINAL_LOCATION, index * intSize)); + append(new WriteNode(objectParametersOffsets, ConstantNode.forInt(offset, getGraph()), location, BarrierType.NONE, false)); index++; } } Map<LaunchArg, ValueNode> args = new EnumMap<>(LaunchArg.class); - args.put(Thread, append(ReadRegisterNode.create(providers.getRegisters().getThreadRegister(), true, false))); + args.put(Thread, append(new ReadRegisterNode(providers.getRegisters().getThreadRegister(), true, false))); args.put(Kernel, kernelStart); args.put(DimX, forInt(1, getGraph())); args.put(DimY, forInt(1, getGraph())); @@ -233,13 +233,13 @@ for (javaParametersIndex = 0; javaParametersIndex < javaParameters.length; javaParametersIndex++) { ParameterNode javaParameter = javaParameters[javaParametersIndex]; int javaParameterOffset = javaParameterOffsetsInKernelParametersBuffer[javaParametersIndex]; - LocationNode location = ConstantLocationNode.create(FINAL_LOCATION, javaParameterOffset, getGraph()); - append(WriteNode.create(buf, javaParameter, location, BarrierType.NONE, false)); + LocationNode location = getGraph().unique(new ConstantLocationNode(FINAL_LOCATION, javaParameterOffset)); + append(new WriteNode(buf, javaParameter, location, BarrierType.NONE, false)); updateDimArg(method, sig, sigIndex++, args, javaParameter); } if (returnKind != Kind.Void) { - LocationNode location = ConstantLocationNode.create(FINAL_LOCATION, bufSize - wordSize, getGraph()); - append(WriteNode.create(buf, nullWord, location, BarrierType.NONE, false)); + LocationNode location = getGraph().unique(new ConstantLocationNode(FINAL_LOCATION, bufSize - wordSize)); + append(new WriteNode(buf, nullWord, location, BarrierType.NONE, false)); } HIRFrameStateBuilder fsb = new HIRFrameStateBuilder(method, getGraph(), true); @@ -247,7 +247,7 @@ getGraph().start().setStateAfter(fs); ValueNode[] launchArgsArray = args.values().toArray(new ValueNode[args.size()]); - ForeignCallNode result = append(ForeignCallNode.create(providers.getForeignCalls(), CALL_KERNEL, launchArgsArray)); + ForeignCallNode result = append(new ForeignCallNode(providers.getForeignCalls(), CALL_KERNEL, launchArgsArray)); result.setStateAfter(fs); InvokeNode getObjectResult = null; @@ -261,13 +261,13 @@ case Short: case Char: case Int: - returnValue = unique(NarrowNode.create(result, 32)); + returnValue = unique(new NarrowNode(result, 32)); break; case Long: returnValue = result; break; case Float: { - ValueNode asInt = unique(NarrowNode.create(result, 32)); + ValueNode asInt = unique(new NarrowNode(result, 32)); returnValue = ReinterpretNode.reinterpret(Kind.Float, asInt); break; } @@ -282,7 +282,7 @@ throw new GraalInternalError("%s return kind not supported", returnKind); } - append(ReturnNode.create(returnValue)); + append(new ReturnNode(returnValue)); if (Debug.isDumpEnabled()) { Debug.dump(getGraph(), "Initial kernel launch graph"); @@ -314,7 +314,7 @@ } else { stamp = StampFactory.forKind(kind); } - javaParameters[javaParametersIndex] = unique(ParameterNode.create(javaParametersIndex, stamp)); + javaParameters[javaParametersIndex] = unique(new ParameterNode(javaParametersIndex, stamp)); bufSize += kindByteSize; } @@ -326,7 +326,7 @@ if (sigIndex >= 0) { ParallelOver parallelOver = method.getParameterAnnotation(ParallelOver.class, sigIndex); if (parallelOver != null && sig.getParameterType(sigIndex, method.getDeclaringClass()).equals(providers.getMetaAccess().lookupJavaType(int[].class))) { - ArrayLengthNode dimension = append(ArrayLengthNode.create(javaParameter)); + ArrayLengthNode dimension = append(new ArrayLengthNode(javaParameter)); LaunchArg argKey = LaunchArg.valueOf(LaunchArg.class, "Dim" + parallelOver.dimension()); ValueNode existing = launchArgs.put(argKey, dimension); if (existing != null && existing instanceof ArrayLengthNode) {
--- a/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/DataPatchTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/DataPatchTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -96,11 +96,7 @@ @Input protected ValueNode input; - public static ConstantFoldBarrier create(ValueNode input) { - return new ConstantFoldBarrier(input); - } - - protected ConstantFoldBarrier(ValueNode input) { + public ConstantFoldBarrier(ValueNode input) { super(input.stamp()); this.input = input; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java Mon Jan 12 20:39:04 2015 +0100 @@ -379,18 +379,18 @@ public static void lower(DynamicCounterNode counter, HotSpotRegistersProvider registers, HotSpotVMConfig config, Kind wordKind) { StructuredGraph graph = counter.graph(); - ReadRegisterNode thread = graph.add(ReadRegisterNode.create(registers.getThreadRegister(), wordKind, true, false)); + ReadRegisterNode thread = graph.add(new ReadRegisterNode(registers.getThreadRegister(), wordKind, true, false)); int index = BenchmarkCounters.getIndex(counter); if (index >= config.graalCountersSize) { throw new GraalInternalError("too many counters, reduce number of counters or increase -XX:GraalCounterSize=... (current value: " + config.graalCountersSize + ")"); } - ConstantLocationNode arrayLocation = ConstantLocationNode.create(COUNTER_LOCATION, config.graalCountersThreadOffset, graph); - ReadNode readArray = graph.add(ReadNode.create(thread, arrayLocation, StampFactory.forKind(wordKind), BarrierType.NONE)); - ConstantLocationNode location = ConstantLocationNode.create(COUNTER_LOCATION, Unsafe.ARRAY_LONG_INDEX_SCALE * index, graph); - ReadNode read = graph.add(ReadNode.create(readArray, location, StampFactory.forKind(Kind.Long), BarrierType.NONE)); - AddNode add = graph.unique(AddNode.create(read, counter.getIncrement())); - WriteNode write = graph.add(WriteNode.create(readArray, add, location, BarrierType.NONE)); + ConstantLocationNode arrayLocation = graph.unique(new ConstantLocationNode(COUNTER_LOCATION, config.graalCountersThreadOffset)); + ReadNode readArray = graph.add(new ReadNode(thread, arrayLocation, StampFactory.forKind(wordKind), BarrierType.NONE)); + ConstantLocationNode location = graph.unique(new ConstantLocationNode(COUNTER_LOCATION, Unsafe.ARRAY_LONG_INDEX_SCALE * index)); + ReadNode read = graph.add(new ReadNode(readArray, location, StampFactory.forKind(Kind.Long), BarrierType.NONE)); + AddNode add = graph.unique(new AddNode(read, counter.getIncrement())); + WriteNode write = graph.add(new WriteNode(readArray, add, location, BarrierType.NONE)); graph.addBeforeFixed(counter, thread); graph.addBeforeFixed(counter, readArray);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java Mon Jan 12 20:39:04 2015 +0100 @@ -191,9 +191,9 @@ return; } StructuredGraph graph = n.graph(); - LocationNode location = ConstantLocationNode.create(KLASS_LAYOUT_HELPER_LOCATION, runtime.getConfig().klassLayoutHelperOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(KLASS_LAYOUT_HELPER_LOCATION, runtime.getConfig().klassLayoutHelperOffset)); assert !n.getHub().isConstant(); - graph.replaceFloating(n, graph.unique(FloatingReadNode.create(n.getHub(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE))); + graph.replaceFloating(n, graph.unique(new FloatingReadNode(n.getHub(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE))); } private void lowerHubGetClassNode(HubGetClassNode n, LoweringTool tool) { @@ -202,9 +202,9 @@ } StructuredGraph graph = n.graph(); - LocationNode location = ConstantLocationNode.create(CLASS_MIRROR_LOCATION, runtime.getConfig().classMirrorOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(CLASS_MIRROR_LOCATION, runtime.getConfig().classMirrorOffset)); assert !n.getHub().isConstant(); - FloatingReadNode read = graph.unique(FloatingReadNode.create(n.getHub(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE)); + FloatingReadNode read = graph.unique(new FloatingReadNode(n.getHub(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE)); graph.replaceFloating(n, read); } @@ -214,9 +214,9 @@ } StructuredGraph graph = n.graph(); - LocationNode location = ConstantLocationNode.create(CLASS_KLASS_LOCATION, runtime.getConfig().klassOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(CLASS_KLASS_LOCATION, runtime.getConfig().klassOffset)); assert !n.getValue().isConstant(); - FloatingReadNode read = graph.unique(FloatingReadNode.create(n.getValue(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE)); + FloatingReadNode read = graph.unique(new FloatingReadNode(n.getValue(), location, null, n.stamp(), n.getGuard(), BarrierType.NONE)); graph.replaceFloating(n, read); } @@ -244,10 +244,11 @@ // We use LocationNode.ANY_LOCATION for the reads that access the // compiled code entry as HotSpot does not guarantee they are final // values. - ReadNode compiledEntry = graph.add(ReadNode.create(metaspaceMethod, ConstantLocationNode.create(ANY_LOCATION, runtime.getConfig().methodCompiledEntryOffset, graph), - StampFactory.forKind(wordKind), BarrierType.NONE)); + int methodCompiledEntryOffset = runtime.getConfig().methodCompiledEntryOffset; + ReadNode compiledEntry = graph.add(new ReadNode(metaspaceMethod, graph.unique(new ConstantLocationNode(ANY_LOCATION, methodCompiledEntryOffset)), StampFactory.forKind(wordKind), + BarrierType.NONE)); - loweredCallTarget = graph.add(HotSpotIndirectCallTargetNode.create(metaspaceMethod, compiledEntry, parameters, invoke.asNode().stamp(), signature, callTarget.targetMethod(), + loweredCallTarget = graph.add(new HotSpotIndirectCallTargetNode(metaspaceMethod, compiledEntry, parameters, invoke.asNode().stamp(), signature, callTarget.targetMethod(), CallingConvention.Type.JavaCall, callTarget.invokeKind())); graph.addBeforeFixed(invoke.asNode(), metaspaceMethod); @@ -256,7 +257,7 @@ } if (loweredCallTarget == null) { - loweredCallTarget = graph.add(HotSpotDirectCallTargetNode.create(parameters, invoke.asNode().stamp(), signature, callTarget.targetMethod(), CallingConvention.Type.JavaCall, + loweredCallTarget = graph.add(new HotSpotDirectCallTargetNode(parameters, invoke.asNode().stamp(), signature, callTarget.targetMethod(), CallingConvention.Type.JavaCall, callTarget.invokeKind())); } callTarget.replaceAndDelete(loweredCallTarget); @@ -296,12 +297,12 @@ @Override protected ValueNode createReadArrayComponentHub(StructuredGraph graph, ValueNode arrayHub, FixedNode anchor) { - LocationNode location = ConstantLocationNode.create(OBJ_ARRAY_KLASS_ELEMENT_KLASS_LOCATION, runtime.getConfig().arrayClassElementOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(OBJ_ARRAY_KLASS_ELEMENT_KLASS_LOCATION, runtime.getConfig().arrayClassElementOffset)); /* * Anchor the read of the element klass to the cfg, because it is only valid when arrayClass * is an object class, which might not be the case in other parts of the compiled method. */ - return graph.unique(FloatingReadNode.create(arrayHub, location, null, KlassPointerStamp.klassNonNull(), BeginNode.prevBegin(anchor))); + return graph.unique(new FloatingReadNode(arrayHub, location, null, KlassPointerStamp.klassNonNull(), BeginNode.prevBegin(anchor))); } @Override @@ -339,9 +340,9 @@ private void lowerOSRStartNode(OSRStartNode osrStart) { StructuredGraph graph = osrStart.graph(); if (graph.getGuardsStage() == StructuredGraph.GuardsStage.FIXED_DEOPTS) { - StartNode newStart = graph.add(StartNode.create()); - ParameterNode buffer = graph.unique(ParameterNode.create(0, StampFactory.forKind(runtime.getTarget().wordKind))); - ForeignCallNode migrationEnd = graph.add(ForeignCallNode.create(foreignCalls, OSR_MIGRATION_END, buffer)); + StartNode newStart = graph.add(new StartNode()); + ParameterNode buffer = graph.unique(new ParameterNode(0, StampFactory.forKind(runtime.getTarget().wordKind))); + ForeignCallNode migrationEnd = graph.add(new ForeignCallNode(foreignCalls, OSR_MIGRATION_END, buffer)); migrationEnd.setStateAfter(osrStart.stateAfter()); newStart.setNext(migrationEnd); @@ -355,8 +356,8 @@ for (OSRLocalNode osrLocal : graph.getNodes(OSRLocalNode.class)) { int size = HIRFrameStateBuilder.stackSlots(osrLocal.getKind()); int offset = localsOffset - (osrLocal.index() + size - 1) * 8; - IndexedLocationNode location = IndexedLocationNode.create(ANY_LOCATION, offset, ConstantNode.forLong(0, graph), graph, 1); - ReadNode load = graph.add(ReadNode.create(buffer, location, osrLocal.stamp(), BarrierType.NONE)); + IndexedLocationNode location = graph.unique(new IndexedLocationNode(ANY_LOCATION, offset, ConstantNode.forLong(0, graph), 1)); + ReadNode load = graph.add(new ReadNode(buffer, location, osrLocal.stamp(), BarrierType.NONE)); osrLocal.replaceAndDelete(load); graph.addBeforeFixed(migrationEnd, load); } @@ -414,7 +415,7 @@ throw GraalInternalError.shouldNotReachHere(); } - ForeignCallNode foreignCallNode = graph.add(ForeignCallNode.create(foreignCalls, descriptor, node.stamp(), node.getArguments())); + ForeignCallNode foreignCallNode = graph.add(new ForeignCallNode(foreignCalls, descriptor, node.stamp(), node.getArguments())); graph.replaceFixedWithFixed(node, foreignCallNode); } } @@ -440,14 +441,14 @@ // We use LocationNode.ANY_LOCATION for the reads that access the vtable // entry as HotSpot does not guarantee that this is a final value. Stamp methodStamp = MethodPointerStamp.method(); - ReadNode metaspaceMethod = graph.add(ReadNode.create(hub, ConstantLocationNode.create(ANY_LOCATION, vtableEntryOffset, graph), methodStamp, BarrierType.NONE)); + ReadNode metaspaceMethod = graph.add(new ReadNode(hub, graph.unique(new ConstantLocationNode(ANY_LOCATION, vtableEntryOffset)), methodStamp, BarrierType.NONE)); return metaspaceMethod; } @Override protected ValueNode createReadHub(StructuredGraph graph, ValueNode object, GuardingNode guard) { HotSpotVMConfig config = runtime.getConfig(); - LocationNode location = ConstantLocationNode.create(HUB_LOCATION, config.hubOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(HUB_LOCATION, config.hubOffset)); assert !object.isConstant() || object.isNullConstant(); KlassPointerStamp hubStamp = KlassPointerStamp.klassNonNull(); @@ -455,7 +456,7 @@ hubStamp = hubStamp.compressed(config.getKlassEncoding()); } - FloatingReadNode memoryRead = graph.unique(FloatingReadNode.create(object, location, null, hubStamp, guard, BarrierType.NONE)); + FloatingReadNode memoryRead = graph.unique(new FloatingReadNode(object, location, null, hubStamp, guard, BarrierType.NONE)); if (config.useCompressedClassPointers) { return CompressionNode.uncompress(memoryRead, config.getKlassEncoding()); } else { @@ -465,7 +466,7 @@ private WriteNode createWriteHub(StructuredGraph graph, ValueNode object, ValueNode value) { HotSpotVMConfig config = runtime.getConfig(); - LocationNode location = ConstantLocationNode.create(HUB_WRITE_LOCATION, config.hubOffset, graph); + LocationNode location = graph.unique(new ConstantLocationNode(HUB_WRITE_LOCATION, config.hubOffset)); assert !object.isConstant() || object.isNullConstant(); ValueNode writeValue = value; @@ -473,7 +474,7 @@ writeValue = CompressionNode.compress(value, config.getKlassEncoding()); } - return graph.add(WriteNode.create(object, writeValue, location, BarrierType.NONE)); + return graph.add(new WriteNode(object, writeValue, location, BarrierType.NONE)); } @Override
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nfi/NativeCallStubGraphBuilder.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nfi/NativeCallStubGraphBuilder.java Mon Jan 12 20:39:04 2015 +0100 @@ -53,10 +53,10 @@ try { ResolvedJavaMethod method = providers.getMetaAccess().lookupJavaMethod(NativeCallStubGraphBuilder.class.getMethod("libCall", Object.class, Object.class, Object.class)); StructuredGraph g = new StructuredGraph(method); - ParameterNode arg0 = g.unique(ParameterNode.create(0, StampFactory.forKind(Kind.Object))); - ParameterNode arg1 = g.unique(ParameterNode.create(1, StampFactory.forKind(Kind.Object))); - ParameterNode arg2 = g.unique(ParameterNode.create(2, StampFactory.forKind(Kind.Object))); - FrameState frameState = g.add(FrameState.create(null, method, 0, Arrays.asList(new ValueNode[]{arg0, arg1, arg2}), 3, 0, false, false, new ArrayList<MonitorIdNode>(), + ParameterNode arg0 = g.unique(new ParameterNode(0, StampFactory.forKind(Kind.Object))); + ParameterNode arg1 = g.unique(new ParameterNode(1, StampFactory.forKind(Kind.Object))); + ParameterNode arg2 = g.unique(new ParameterNode(2, StampFactory.forKind(Kind.Object))); + FrameState frameState = g.add(new FrameState(null, method, 0, Arrays.asList(new ValueNode[]{arg0, arg1, arg2}), 3, 0, false, false, new ArrayList<MonitorIdNode>(), new ArrayList<EscapeObjectState>())); g.start().setStateAfter(frameState); List<ValueNode> parameters = new ArrayList<>(); @@ -84,12 +84,12 @@ throw new IllegalArgumentException("Return type not supported: " + returnType.getName()); } ResolvedJavaType type = providers.getMetaAccess().lookupJavaType(callNode.getKind().toBoxedJavaClass()); - boxedResult = g.unique(BoxNode.create(callNode, type, callNode.getKind())); + boxedResult = g.unique(new BoxNode(callNode, type, callNode.getKind())); } else { - boxedResult = g.unique(BoxNode.create(ConstantNode.forLong(0, g), providers.getMetaAccess().lookupJavaType(Long.class), Kind.Long)); + boxedResult = g.unique(new BoxNode(ConstantNode.forLong(0, g), providers.getMetaAccess().lookupJavaType(Long.class), Kind.Long)); } - ReturnNode returnNode = g.add(ReturnNode.create(boxedResult)); + ReturnNode returnNode = g.add(new ReturnNode(boxedResult)); callNode.setNext(returnNode); (new HotSpotWordTypeRewriterPhase(providers.getMetaAccess(), providers.getSnippetReflection(), providers.getConstantReflection(), Kind.Long)).apply(g); return g; @@ -103,7 +103,7 @@ FixedWithNextNode last = null; for (int i = 0; i < numArgs; i++) { // load boxed array element: - LoadIndexedNode boxedElement = g.add(LoadIndexedNode.create(argumentsArray, ConstantNode.forInt(i, g), Kind.Object)); + LoadIndexedNode boxedElement = g.add(new LoadIndexedNode(argumentsArray, ConstantNode.forInt(i, g), Kind.Object)); if (i == 0) { g.start().setNext(boxedElement); last = boxedElement; @@ -120,15 +120,15 @@ int displacement = runtime().getArrayBaseOffset(arrayElementKind); ConstantNode index = ConstantNode.forInt(0, g); int indexScaling = runtime().getArrayIndexScale(arrayElementKind); - IndexedLocationNode locationNode = IndexedLocationNode.create(locationIdentity, displacement, index, g, indexScaling); + IndexedLocationNode locationNode = g.unique(new IndexedLocationNode(locationIdentity, displacement, index, indexScaling)); Stamp wordStamp = StampFactory.forKind(providers.getCodeCache().getTarget().wordKind); - ComputeAddressNode arrayAddress = g.unique(ComputeAddressNode.create(boxedElement, locationNode, wordStamp)); + ComputeAddressNode arrayAddress = g.unique(new ComputeAddressNode(boxedElement, locationNode, wordStamp)); args.add(arrayAddress); } else { // boxed primitive value try { ResolvedJavaField field = providers.getMetaAccess().lookupJavaField(kind.toBoxedJavaClass().getDeclaredField("value")); - LoadFieldNode loadFieldNode = g.add(LoadFieldNode.create(boxedElement, field)); + LoadFieldNode loadFieldNode = g.add(new LoadFieldNode(boxedElement, field)); last.setNext(loadFieldNode); last = loadFieldNode; args.add(loadFieldNode);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,11 +50,7 @@ */ protected final BitSet objects; - public static AllocaNode create(int slots, Kind wordKind, BitSet objects) { - return new AllocaNode(slots, wordKind, objects); - } - - protected AllocaNode(int slots, Kind wordKind, BitSet objects) { + public AllocaNode(int slots, Kind wordKind, BitSet objects) { super(StampFactory.forKind(wordKind)); this.slots = slots; this.objects = objects;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,11 +42,7 @@ protected int lockDepth; - public static BeginLockScopeNode create(int lockDepth) { - return new BeginLockScopeNode(lockDepth); - } - - protected BeginLockScopeNode(int lockDepth) { + public BeginLockScopeNode(int lockDepth) { super(null); this.lockDepth = lockDepth; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ protected final String string; - public static CStringNode create(String string) { - return new CStringNode(string); - } - - protected CStringNode(String string) { + public CStringNode(String string) { super(null); this.string = string; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class ClassCastNode extends MacroStateSplitNode implements Canonicalizable.Binary<ValueNode> { - public static ClassCastNode create(Invoke invoke) { - return new ClassCastNode(invoke); - } - - protected ClassCastNode(Invoke invoke) { + public ClassCastNode(Invoke invoke) { super(invoke); } @@ -67,7 +63,7 @@ if (forJavaClass.isConstant()) { ResolvedJavaType type = tool.getConstantReflection().asJavaType(forJavaClass.asConstant()); if (type != null && !type.isPrimitive()) { - return CheckCastNode.create(type, forObject, null, false); + return new CheckCastNode(type, forObject, null, false); } } return this;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @NodeInfo public class ClassGetClassLoader0Node extends MacroStateSplitNode implements Canonicalizable { - public static ClassGetClassLoader0Node create(Invoke invoke) { - return new ClassGetClassLoader0Node(invoke); - } - - protected ClassGetClassLoader0Node(Invoke invoke) { + public ClassGetClassLoader0Node(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @NodeInfo public class ClassGetComponentTypeNode extends MacroNode implements Canonicalizable { - public static ClassGetComponentTypeNode create(Invoke invoke) { - return new ClassGetComponentTypeNode(invoke); - } - - protected ClassGetComponentTypeNode(Invoke invoke) { + public ClassGetComponentTypeNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class ClassGetModifiersNode extends MacroNode implements Canonicalizable { - public static ClassGetModifiersNode create(Invoke invoke) { - return new ClassGetModifiersNode(invoke); - } - - protected ClassGetModifiersNode(Invoke invoke) { + public ClassGetModifiersNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @NodeInfo public class ClassGetSuperclassNode extends MacroNode implements Canonicalizable { - public static ClassGetSuperclassNode create(Invoke invoke) { - return new ClassGetSuperclassNode(invoke); - } - - protected ClassGetSuperclassNode(Invoke invoke) { + public ClassGetSuperclassNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class ClassIsArrayNode extends MacroNode implements Canonicalizable { - public static ClassIsArrayNode create(Invoke invoke) { - return new ClassIsArrayNode(invoke); - } - - protected ClassIsArrayNode(Invoke invoke) { + public ClassIsArrayNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsAssignableFromNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsAssignableFromNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ */ @NodeInfo public class ClassIsAssignableFromNode extends MacroStateSplitNode implements Canonicalizable { - public static ClassIsAssignableFromNode create(Invoke invoke) { - return new ClassIsAssignableFromNode(invoke); - } - - protected ClassIsAssignableFromNode(Invoke invoke) { + public ClassIsAssignableFromNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @NodeInfo public class ClassIsInstanceNode extends MacroNode implements Canonicalizable { - public static ClassIsInstanceNode create(Invoke invoke) { - return new ClassIsInstanceNode(invoke); - } - - protected ClassIsInstanceNode(Invoke invoke) { + public ClassIsInstanceNode(Invoke invoke) { super(invoke); } @@ -71,8 +67,8 @@ JavaConstant c = object.asJavaConstant(); return ConstantNode.forBoolean(c.isNonNull() && type.isInstance(c)); } - InstanceOfNode instanceOf = InstanceOfNode.create(type, object, null); - return ConditionalNode.create(instanceOf, ConstantNode.forBoolean(true), ConstantNode.forBoolean(false)); + InstanceOfNode instanceOf = new InstanceOfNode(type, object, null); + return new ConditionalNode(instanceOf, ConstantNode.forBoolean(true), ConstantNode.forBoolean(false)); } } return this;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class ClassIsInterfaceNode extends MacroNode implements Canonicalizable { - public static ClassIsInterfaceNode create(Invoke invoke) { - return new ClassIsInterfaceNode(invoke); - } - - protected ClassIsInterfaceNode(Invoke invoke) { + public ClassIsInterfaceNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class ClassIsPrimitiveNode extends MacroNode implements Canonicalizable { - public static ClassIsPrimitiveNode create(Invoke invoke) { - return new ClassIsPrimitiveNode(invoke); - } - - protected ClassIsPrimitiveNode(Invoke invoke) { + public ClassIsPrimitiveNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,11 +50,7 @@ protected final CompressionOp op; protected final CompressEncoding encoding; - public static CompressionNode create(CompressionOp op, ValueNode input, CompressEncoding encoding) { - return new CompressionNode(op, input, encoding); - } - - protected CompressionNode(CompressionOp op, ValueNode input, CompressEncoding encoding) { + public CompressionNode(CompressionOp op, ValueNode input, CompressEncoding encoding) { super(mkStamp(op, input.stamp(), encoding), input); this.op = op; this.encoding = encoding; @@ -66,11 +62,11 @@ } public static CompressionNode compress(ValueNode input, CompressEncoding encoding) { - return input.graph().unique(CompressionNode.create(CompressionOp.Compress, input, encoding)); + return input.graph().unique(new CompressionNode(CompressionOp.Compress, input, encoding)); } public static CompressionNode uncompress(ValueNode input, CompressEncoding encoding) { - return input.graph().unique(CompressionNode.create(CompressionOp.Uncompress, input, encoding)); + return input.graph().unique(new CompressionNode(CompressionOp.Uncompress, input, encoding)); } private static Constant compress(Constant c, CompressEncoding encoding) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,11 +42,7 @@ protected LIRKind wordKind; - public static CurrentJavaThreadNode create(Kind kind) { - return new CurrentJavaThreadNode(kind); - } - - protected CurrentJavaThreadNode(Kind kind) { + public CurrentJavaThreadNode(Kind kind) { super(StampFactory.forKind(kind)); this.wordKind = LIRKind.value(kind); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ protected int lockDepth; - public static CurrentLockNode create(int lockDepth) { - return new CurrentLockNode(lockDepth); - } - - protected CurrentLockNode(int lockDepth) { + public CurrentLockNode(int lockDepth) { super(null); this.lockDepth = lockDepth; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ @Input SaveAllRegistersNode registerSaver; protected final ForeignCallsProvider foreignCalls; - public static DeoptimizationFetchUnrollInfoCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver) { - return new DeoptimizationFetchUnrollInfoCallNode(foreignCalls, registerSaver); - } - - protected DeoptimizationFetchUnrollInfoCallNode(ForeignCallsProvider foreignCalls, ValueNode registerSaver) { + public DeoptimizationFetchUnrollInfoCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver) { super(StampFactory.forKind(Kind.fromJavaClass(FETCH_UNROLL_INFO.getResultType()))); this.registerSaver = (SaveAllRegistersNode) registerSaver; this.foreignCalls = foreignCalls;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ protected final DeoptimizationAction action; protected final DeoptimizationReason reason; - public static DeoptimizeCallerNode create(DeoptimizationAction action, DeoptimizationReason reason) { - return new DeoptimizeCallerNode(action, reason); - } - - protected DeoptimizeCallerNode(DeoptimizationAction action, DeoptimizationReason reason) { + public DeoptimizeCallerNode(DeoptimizationAction action, DeoptimizationReason reason) { super(StampFactory.forVoid()); this.action = action; this.reason = reason;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java Mon Jan 12 20:39:04 2015 +0100 @@ -29,11 +29,7 @@ @NodeInfo public class DeoptimizingStubCall extends DeoptimizingFixedWithNextNode { - public static DeoptimizingStubCall create(Stamp stamp) { - return new DeoptimizingStubCall(stamp); - } - - protected DeoptimizingStubCall(Stamp stamp) { + public DeoptimizingStubCall(Stamp stamp) { super(stamp); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ protected final int rank; - public static DimensionsNode create(int rank) { - return new DimensionsNode(rank); - } - - protected DimensionsNode(int rank) { + public DimensionsNode(int rank) { super(null); this.rank = rank; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -47,11 +47,7 @@ protected final LocationIdentity locationIdentity; - public static DirectCompareAndSwapNode create(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, LocationIdentity locationIdentity) { - return new DirectCompareAndSwapNode(object, offset, expected, newValue, locationIdentity); - } - - protected DirectCompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, LocationIdentity locationIdentity) { + public DirectCompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, LocationIdentity locationIdentity) { super(expected.stamp()); this.object = object; this.offset = offset;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Memory}) public class EndLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorExit, MemoryCheckpoint.Single { - public static EndLockScopeNode create() { - return new EndLockScopeNode(); - } - - protected EndLockScopeNode() { + public EndLockScopeNode() { super(StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ @Input ValueNode senderFp; @Input SaveAllRegistersNode registerSaver; - public static EnterUnpackFramesStackFrameNode create(ValueNode framePc, ValueNode senderSp, ValueNode senderFp, ValueNode registerSaver) { - return new EnterUnpackFramesStackFrameNode(framePc, senderSp, senderFp, registerSaver); - } - - protected EnterUnpackFramesStackFrameNode(ValueNode framePc, ValueNode senderSp, ValueNode senderFp, ValueNode registerSaver) { + public EnterUnpackFramesStackFrameNode(ValueNode framePc, ValueNode senderSp, ValueNode senderFp, ValueNode registerSaver) { super(StampFactory.forVoid()); this.framePc = framePc; this.senderSp = senderSp;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -28,11 +28,8 @@ @NodeInfo public class G1ArrayRangePostWriteBarrier extends ArrayRangeWriteBarrier { - public static G1ArrayRangePostWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) { - return new G1ArrayRangePostWriteBarrier(object, startIndex, length); + public G1ArrayRangePostWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { + super(object, startIndex, length); } - protected G1ArrayRangePostWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { - super(object, startIndex, length); - } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -28,11 +28,8 @@ @NodeInfo public class G1ArrayRangePreWriteBarrier extends ArrayRangeWriteBarrier { - public static G1ArrayRangePreWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) { - return new G1ArrayRangePreWriteBarrier(object, startIndex, length); + public G1ArrayRangePreWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { + super(object, startIndex, length); } - protected G1ArrayRangePreWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { - super(object, startIndex, length); - } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ protected final boolean alwaysNull; - public static G1PostWriteBarrier create(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { - return new G1PostWriteBarrier(object, value, location, precise, alwaysNull); - } - - protected G1PostWriteBarrier(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { + public G1PostWriteBarrier(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { super(object, value, location, precise); this.alwaysNull = alwaysNull; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ protected final boolean nullCheck; protected final boolean doLoad; - public static G1PreWriteBarrier create(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad, boolean nullCheck) { - return new G1PreWriteBarrier(object, expectedObject, location, doLoad, nullCheck); - } - - protected G1PreWriteBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad, boolean nullCheck) { + public G1PreWriteBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad, boolean nullCheck) { super(object, expectedObject, location, true); this.doLoad = doLoad; this.nullCheck = nullCheck;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ protected final boolean doLoad; - public static G1ReferentFieldReadBarrier create(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) { - return new G1ReferentFieldReadBarrier(object, expectedObject, location, doLoad); - } - - protected G1ReferentFieldReadBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) { + public G1ReferentFieldReadBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) { super(object, expectedObject, location, true); this.doLoad = doLoad; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input ValueNode object; - public static GetObjectAddressNode create(ValueNode obj) { - return new GetObjectAddressNode(obj); - } - - protected GetObjectAddressNode(ValueNode obj) { + public GetObjectAddressNode(ValueNode obj) { super(StampFactory.forKind(Kind.Long)); this.object = obj; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,8 @@ @NodeInfo public class HotSpotDirectCallTargetNode extends DirectCallTargetNode { - public static HotSpotDirectCallTargetNode create(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { - return new HotSpotDirectCallTargetNode(arguments, returnStamp, signature, target, callType, invokeKind); + public HotSpotDirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { + super(arguments, returnStamp, signature, target, callType, invokeKind); } - protected HotSpotDirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { - super(arguments, returnStamp, signature, target, callType, invokeKind); - } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,12 +35,7 @@ @Input ValueNode metaspaceMethod; - public static HotSpotIndirectCallTargetNode create(ValueNode metaspaceMethod, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, - ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { - return new HotSpotIndirectCallTargetNode(metaspaceMethod, computedAddress, arguments, returnStamp, signature, target, callType, invokeKind); - } - - protected HotSpotIndirectCallTargetNode(ValueNode metaspaceMethod, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, + public HotSpotIndirectCallTargetNode(ValueNode metaspaceMethod, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) { super(computedAddress, arguments, returnStamp, signature, target, callType, invokeKind); this.metaspaceMethod = metaspaceMethod;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @Input ValueNode exception; @Input ValueNode exceptionPc; - public static JumpToExceptionHandlerInCallerNode create(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) { - return new JumpToExceptionHandlerInCallerNode(handlerInCallerPc, exception, exceptionPc); - } - - protected JumpToExceptionHandlerInCallerNode(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) { + public JumpToExceptionHandlerInCallerNode(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) { super(StampFactory.forVoid()); this.handlerInCallerPc = handlerInCallerPc; this.exception = exception;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input SaveAllRegistersNode registerSaver; - public static LeaveCurrentStackFrameNode create(ValueNode registerSaver) { - return new LeaveCurrentStackFrameNode(registerSaver); - } - - protected LeaveCurrentStackFrameNode(ValueNode registerSaver) { + public LeaveCurrentStackFrameNode(ValueNode registerSaver) { super(StampFactory.forVoid()); this.registerSaver = (SaveAllRegistersNode) registerSaver; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ @Input ValueNode frameSize; @Input ValueNode initialInfo; - public static LeaveDeoptimizedStackFrameNode create(ValueNode frameSize, ValueNode initialInfo) { - return new LeaveDeoptimizedStackFrameNode(frameSize, initialInfo); - } - - protected LeaveDeoptimizedStackFrameNode(ValueNode frameSize, ValueNode initialInfo) { + public LeaveDeoptimizedStackFrameNode(ValueNode frameSize, ValueNode initialInfo) { super(StampFactory.forVoid()); this.frameSize = frameSize; this.initialInfo = initialInfo;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input SaveAllRegistersNode registerSaver; - public static LeaveUnpackFramesStackFrameNode create(ValueNode registerSaver) { - return new LeaveUnpackFramesStackFrameNode(registerSaver); - } - - protected LeaveUnpackFramesStackFrameNode(ValueNode registerSaver) { + public LeaveUnpackFramesStackFrameNode(ValueNode registerSaver) { super(StampFactory.forVoid()); this.registerSaver = (SaveAllRegistersNode) registerSaver; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @NodeInfo public class LoadIndexedPointerNode extends LoadIndexedNode { - public static LoadIndexedPointerNode create(Stamp stamp, ValueNode array, ValueNode index) { - return new LoadIndexedPointerNode(stamp, array, index); - } - - protected LoadIndexedPointerNode(Stamp stamp, ValueNode array, ValueNode index) { + public LoadIndexedPointerNode(Stamp stamp, ValueNode array, ValueNode index) { super(stamp, array, index, Kind.Illegal); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class MonitorCounterNode extends FloatingNode implements LIRLowerable { - public static MonitorCounterNode create() { - return new MonitorCounterNode(); - } - - protected MonitorCounterNode() { + public MonitorCounterNode() { super(null); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ @Input ValueNode hub; @Input ValueNode length; - public static NewArrayStubCall create(ValueNode hub, ValueNode length) { - return new NewArrayStubCall(hub, length); - } - - protected NewArrayStubCall(ValueNode hub, ValueNode length) { + public NewArrayStubCall(ValueNode hub, ValueNode length) { super(defaultStamp); this.hub = hub; this.length = length;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ @Input ValueNode hub; - public static NewInstanceStubCall create(ValueNode hub) { - return new NewInstanceStubCall(hub); - } - - protected NewInstanceStubCall(ValueNode hub) { + public NewInstanceStubCall(ValueNode hub) { super(defaultStamp); this.hub = hub; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,11 +46,7 @@ @Input ValueNode dims; protected final int rank; - public static NewMultiArrayStubCall create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode hub, int rank, ValueNode dims) { - return new NewMultiArrayStubCall(foreignCalls, hub, rank, dims); - } - - protected NewMultiArrayStubCall(ForeignCallsProvider foreignCalls, ValueNode hub, int rank, ValueNode dims) { + public NewMultiArrayStubCall(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode hub, int rank, ValueNode dims) { super(foreignCalls, NEW_MULTI_ARRAY, defaultStamp); this.hub = hub; this.rank = rank;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @Input ValueNode address; - public static PatchReturnAddressNode create(ValueNode address) { - return new PatchReturnAddressNode(address); - } - - protected PatchReturnAddressNode(ValueNode address) { + public PatchReturnAddressNode(ValueNode address) { super(StampFactory.forVoid()); this.address = address; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @Input ValueNode distance; @Input ValueNode address; - public static PrefetchAllocateNode create(ValueNode address, ValueNode distance) { - return new PrefetchAllocateNode(address, distance); - } - - protected PrefetchAllocateNode(ValueNode address, ValueNode distance) { + public PrefetchAllocateNode(ValueNode address, ValueNode distance) { super(StampFactory.forVoid()); this.address = address; this.distance = distance;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ @Input ValueNode senderSp; @Input ValueNode initialInfo; - public static PushInterpreterFrameNode create(ValueNode frameSize, ValueNode framePc, ValueNode senderSp, ValueNode initialInfo) { - return new PushInterpreterFrameNode(frameSize, framePc, senderSp, initialInfo); - } - - protected PushInterpreterFrameNode(ValueNode frameSize, ValueNode framePc, ValueNode senderSp, ValueNode initialInfo) { + public PushInterpreterFrameNode(ValueNode frameSize, ValueNode framePc, ValueNode senderSp, ValueNode initialInfo) { super(StampFactory.forVoid()); this.frameSize = frameSize; this.framePc = framePc;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ protected SaveRegistersOp saveRegistersOp; - public static SaveAllRegistersNode create() { - return new SaveAllRegistersNode(); - } - - protected SaveAllRegistersNode() { + public SaveAllRegistersNode() { super(StampFactory.forKind(Kind.Long)); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -28,11 +28,8 @@ @NodeInfo public class SerialArrayRangeWriteBarrier extends ArrayRangeWriteBarrier { - public static SerialArrayRangeWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) { - return new SerialArrayRangeWriteBarrier(object, startIndex, length); + public SerialArrayRangeWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { + super(object, startIndex, length); } - protected SerialArrayRangeWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) { - super(object, startIndex, length); - } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ protected final boolean alwaysNull; - public static SerialWriteBarrier create(ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) { - return new SerialWriteBarrier(object, location, precise, alwaysNull); - } - - protected SerialWriteBarrier(ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) { + public SerialWriteBarrier(ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) { super(object, null, location, precise); this.alwaysNull = alwaysNull; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Value, InputType.Anchor, InputType.Guard}) public class SnippetAnchorNode extends FixedWithNextNode implements Simplifiable, GuardingNode { - public static SnippetAnchorNode create() { - return new SnippetAnchorNode(); - } - - protected SnippetAnchorNode() { + public SnippetAnchorNode() { super(StampFactory.object()); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @Input(InputType.Unchecked) ValueNode location; - public static SnippetLocationProxyNode create(ValueNode location) { - return new SnippetLocationProxyNode(location); - } - - protected SnippetLocationProxyNode(ValueNode location) { + public SnippetLocationProxyNode(ValueNode location) { super(StampFactory.object()); this.location = location; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ protected final ForeignCallDescriptor descriptor; - public static StubForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { - return new StubForeignCallNode(foreignCalls, descriptor, arguments); - } - - protected StubForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { + public StubForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { super(StampFactory.forKind(Kind.fromJavaClass(descriptor.getResultType()))); this.arguments = new NodeInputList<>(this, arguments); this.descriptor = descriptor;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ protected final Stub stub; - public static StubStartNode create(Stub stub) { - return new StubStartNode(stub); - } - - protected StubStartNode(Stub stub) { + public StubStartNode(Stub stub) { this.stub = stub; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,17 +46,7 @@ @Input(InputType.State) FrameState frameState; @Input ValueNode target; - /** - * Creates a TailcallNode. - * - * @param target points to the start of an nmethod - * @param frameState the parameters will be taken from this FrameState - */ - public static TailcallNode create(ValueNode target, FrameState frameState) { - return new TailcallNode(target, frameState); - } - - protected TailcallNode(ValueNode target, FrameState frameState) { + public TailcallNode(ValueNode target, FrameState frameState) { super(StampFactory.forVoid()); this.target = target; this.frameState = frameState;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ @Input SaveAllRegistersNode registerSaver; protected final ForeignCallsProvider foreignCalls; - public static UncommonTrapCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) { - return new UncommonTrapCallNode(foreignCalls, registerSaver, trapRequest); - } - - protected UncommonTrapCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) { + public UncommonTrapCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) { super(StampFactory.forKind(Kind.fromJavaClass(UNCOMMON_TRAP.getResultType()))); this.trapRequest = trapRequest; this.registerSaver = (SaveAllRegistersNode) registerSaver;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ protected final String format; @Input ValueNode value; - public static VMErrorNode create(String format, ValueNode value) { - return new VMErrorNode(format, value); - } - - protected VMErrorNode(String format, ValueNode value) { + public VMErrorNode(String format, ValueNode value) { super(StampFactory.forVoid()); this.format = format; this.value = value;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -70,7 +70,7 @@ Constant klass; LocationNode location; if (type instanceof HotSpotResolvedObjectType) { - location = ConstantLocationNode.create(CLASS_MIRROR_LOCATION, classMirrorOffset, graph); + location = graph.unique(new ConstantLocationNode(CLASS_MIRROR_LOCATION, classMirrorOffset)); klass = ((HotSpotResolvedObjectType) type).klass(); } else { /* @@ -91,12 +91,12 @@ if (typeField == null) { throw new GraalInternalError("Can't find TYPE field in class"); } - location = ConstantLocationNode.create(FINAL_LOCATION, typeField.offset(), graph); + location = graph.unique(new ConstantLocationNode(FINAL_LOCATION, typeField.offset())); } ConstantNode klassNode = ConstantNode.forConstant(KlassPointerStamp.klassNonNull(), klass, metaAccess, graph); Stamp stamp = StampFactory.exactNonNull(metaAccess.lookupJavaType(Class.class)); - FloatingReadNode freadNode = graph.unique(FloatingReadNode.create(klassNode, location, null, stamp)); + FloatingReadNode freadNode = graph.unique(new FloatingReadNode(klassNode, location, null, stamp)); if (((HotSpotObjectConstant) constant).isCompressed()) { return CompressionNode.compress(freadNode, oopEncoding);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -86,7 +86,7 @@ FrameState osrState = osr.stateAfter(); osr.setStateAfter(null); - OSRStartNode osrStart = graph.add(OSRStartNode.create()); + OSRStartNode osrStart = graph.add(new OSRStartNode()); StartNode start = graph.start(); FixedNode next = osr.next(); osr.setNext(null); @@ -102,7 +102,7 @@ * we need to drop the stamp since the types we see during OSR may be too precise * (if a branch was not parsed for example). */ - proxy.replaceAndDelete(graph.unique(OSRLocalNode.create(i, proxy.stamp().unrestricted()))); + proxy.replaceAndDelete(graph.unique(new OSRLocalNode(i, proxy.stamp().unrestricted()))); } else { assert value == null || value instanceof OSRLocalNode; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -65,7 +65,7 @@ private void addReadNodeBarriers(ReadNode node, StructuredGraph graph) { if (node.getBarrierType() == BarrierType.PRECISE) { assert config.useG1GC; - G1ReferentFieldReadBarrier barrier = graph.add(G1ReferentFieldReadBarrier.create(node.object(), node, node.location(), false)); + G1ReferentFieldReadBarrier barrier = graph.add(new G1ReferentFieldReadBarrier(node.object(), node, node.location(), false)); graph.addAfterFixed(node, barrier); } else { assert node.getBarrierType() == BarrierType.NONE : "Non precise read barrier has been attached to read node."; @@ -73,7 +73,7 @@ } protected static void addG1PreWriteBarrier(FixedAccessNode node, ValueNode object, ValueNode value, LocationNode location, boolean doLoad, boolean nullCheck, StructuredGraph graph) { - G1PreWriteBarrier preBarrier = graph.add(G1PreWriteBarrier.create(object, value, location, doLoad, nullCheck)); + G1PreWriteBarrier preBarrier = graph.add(new G1PreWriteBarrier(object, value, location, doLoad, nullCheck)); preBarrier.setStateBefore(node.stateBefore()); node.setNullCheck(false); node.setStateBefore(null); @@ -82,13 +82,13 @@ protected void addG1PostWriteBarrier(FixedAccessNode node, ValueNode object, ValueNode value, LocationNode location, boolean precise, StructuredGraph graph) { final boolean alwaysNull = StampTool.isPointerAlwaysNull(value); - graph.addAfterFixed(node, graph.add(G1PostWriteBarrier.create(object, value, location, precise, alwaysNull))); + graph.addAfterFixed(node, graph.add(new G1PostWriteBarrier(object, value, location, precise, alwaysNull))); } protected void addSerialPostWriteBarrier(FixedAccessNode node, ValueNode object, ValueNode value, LocationNode location, boolean precise, StructuredGraph graph) { final boolean alwaysNull = StampTool.isPointerAlwaysNull(value); final LocationNode loc = (precise ? location : null); - graph.addAfterFixed(node, graph.add(SerialWriteBarrier.create(object, loc, precise, alwaysNull))); + graph.addAfterFixed(node, graph.add(new SerialWriteBarrier(object, loc, precise, alwaysNull))); } private void addWriteNodeBarriers(WriteNode node, StructuredGraph graph) { @@ -159,13 +159,13 @@ private void addArrayRangeBarriers(ArrayRangeWriteNode node, StructuredGraph graph) { if (config.useG1GC) { if (!node.isInitialization()) { - G1ArrayRangePreWriteBarrier g1ArrayRangePreWriteBarrier = graph.add(G1ArrayRangePreWriteBarrier.create(node.getArray(), node.getIndex(), node.getLength())); + G1ArrayRangePreWriteBarrier g1ArrayRangePreWriteBarrier = graph.add(new G1ArrayRangePreWriteBarrier(node.getArray(), node.getIndex(), node.getLength())); graph.addBeforeFixed(node, g1ArrayRangePreWriteBarrier); } - G1ArrayRangePostWriteBarrier g1ArrayRangePostWriteBarrier = graph.add(G1ArrayRangePostWriteBarrier.create(node.getArray(), node.getIndex(), node.getLength())); + G1ArrayRangePostWriteBarrier g1ArrayRangePostWriteBarrier = graph.add(new G1ArrayRangePostWriteBarrier(node.getArray(), node.getIndex(), node.getLength())); graph.addAfterFixed(node, g1ArrayRangePostWriteBarrier); } else { - SerialArrayRangeWriteBarrier serialArrayRangeWriteBarrier = graph.add(SerialArrayRangeWriteBarrier.create(node.getArray(), node.getIndex(), node.getLength())); + SerialArrayRangeWriteBarrier serialArrayRangeWriteBarrier = graph.add(new SerialArrayRangeWriteBarrier(node.getArray(), node.getIndex(), node.getLength())); graph.addAfterFixed(node, serialArrayRangeWriteBarrier); } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo public class CallSiteTargetNode extends MacroStateSplitNode implements Canonicalizable, Lowerable { - public static CallSiteTargetNode create(Invoke invoke) { - return new CallSiteTargetNode(invoke); - } - - protected CallSiteTargetNode(Invoke invoke) { + public CallSiteTargetNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo public class CardTableAddressNode extends FloatingNode implements LIRLowerable { - public static CardTableAddressNode create() { - return new CardTableAddressNode(); - } - - protected CardTableAddressNode() { + public CardTableAddressNode() { super(StampFactory.forKind(Kind.Long)); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableShiftNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableShiftNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo public class CardTableShiftNode extends FloatingNode implements LIRLowerable { - public static CardTableShiftNode create() { - return new CardTableShiftNode(); - } - - protected CardTableShiftNode() { + public CardTableShiftNode() { super(StampFactory.intValue()); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,15 +45,11 @@ public class ClassGetHubNode extends FloatingGuardedNode implements Lowerable, Canonicalizable, ConvertNode { @Input protected ValueNode clazz; - public static ClassGetHubNode create(ValueNode clazz) { - return new ClassGetHubNode(clazz, null); + public ClassGetHubNode(ValueNode clazz) { + this(clazz, null); } - public static ClassGetHubNode create(ValueNode clazz, ValueNode guard) { - return new ClassGetHubNode(clazz, guard); - } - - protected ClassGetHubNode(ValueNode clazz, ValueNode guard) { + public ClassGetHubNode(ValueNode clazz, ValueNode guard) { super(KlassPointerStamp.klass(), (GuardingNode) guard); this.clazz = clazz; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java Mon Jan 12 20:39:04 2015 +0100 @@ -47,11 +47,7 @@ @NodeInfo public static class CompositeValueClassGetNode extends PureFunctionMacroNode { - public static CompositeValueClassGetNode create(Invoke invoke) { - return new CompositeValueClassGetNode(invoke); - } - - protected CompositeValueClassGetNode(Invoke invoke) { + public CompositeValueClassGetNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java Mon Jan 12 20:39:04 2015 +0100 @@ -47,11 +47,7 @@ @NodeInfo public static class NodeClassGetNode extends PureFunctionMacroNode { - public static NodeClassGetNode create(Invoke invoke) { - return new NodeClassGetNode(invoke); - } - - protected NodeClassGetNode(Invoke invoke) { + public NodeClassGetNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HubGetClassNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HubGetClassNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ public class HubGetClassNode extends FloatingGuardedNode implements Lowerable, Canonicalizable, ConvertNode { @Input protected ValueNode hub; - public static HubGetClassNode create(@InjectedNodeParameter MetaAccessProvider metaAccess, ValueNode hub) { - return new HubGetClassNode(hub, metaAccess); - } - - protected HubGetClassNode(ValueNode hub, MetaAccessProvider metaAccess) { + protected HubGetClassNode(@InjectedNodeParameter MetaAccessProvider metaAccess, ValueNode hub) { super(StampFactory.declaredNonNull(metaAccess.lookupJavaType(Class.class)), null); this.hub = hub; }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/KlassLayoutHelperNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/KlassLayoutHelperNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,15 +43,11 @@ @Input protected ValueNode klass; protected final HotSpotVMConfig config; - public static KlassLayoutHelperNode create(@InjectedNodeParameter HotSpotVMConfig config, ValueNode klass) { - return new KlassLayoutHelperNode(config, klass, null); + public KlassLayoutHelperNode(@InjectedNodeParameter HotSpotVMConfig config, ValueNode klass) { + this(config, klass, null); } - public static KlassLayoutHelperNode create(@InjectedNodeParameter HotSpotVMConfig config, ValueNode klass, ValueNode guard) { - return new KlassLayoutHelperNode(config, klass, guard); - } - - protected KlassLayoutHelperNode(HotSpotVMConfig config, ValueNode klass, ValueNode guard) { + public KlassLayoutHelperNode(@InjectedNodeParameter HotSpotVMConfig config, ValueNode klass, ValueNode guard) { super(StampFactory.forKind(Kind.Int), (GuardingNode) guard); this.klass = klass; this.config = config;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/LoadExceptionObjectSnippets.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/LoadExceptionObjectSnippets.java Mon Jan 12 20:39:04 2015 +0100 @@ -78,9 +78,9 @@ public void lower(LoadExceptionObjectNode loadExceptionObject, HotSpotRegistersProvider registers, LoweringTool tool) { if (USE_C_RUNTIME) { StructuredGraph graph = loadExceptionObject.graph(); - ReadRegisterNode thread = graph.add(ReadRegisterNode.create(registers.getThreadRegister(), true, false)); + ReadRegisterNode thread = graph.add(new ReadRegisterNode(registers.getThreadRegister(), true, false)); graph.addBeforeFixed(loadExceptionObject, thread); - ForeignCallNode loadExceptionC = graph.add(ForeignCallNode.create(providers.getForeignCalls(), LOAD_AND_CLEAR_EXCEPTION, thread)); + ForeignCallNode loadExceptionC = graph.add(new ForeignCallNode(providers.getForeignCalls(), LOAD_AND_CLEAR_EXCEPTION, thread)); loadExceptionC.setStateAfter(loadExceptionObject.stateAfter()); graph.replaceFixedWithFixed(loadExceptionObject, loadExceptionC); } else {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,15 +50,9 @@ protected JavaType replacementReturnType; @Input NodeInputList<ValueNode> replacementArguments; - public static MethodHandleNode create(Invoke invoke) { - return new MethodHandleNode(invoke); - } - - protected MethodHandleNode(Invoke invoke) { + public MethodHandleNode(Invoke invoke) { super(invoke); - MethodCallTargetNode callTarget = (MethodCallTargetNode) invoke.callTarget(); - // See if we need to save some replacement method data. if (callTarget instanceof SelfReplacingMethodCallTargetNode) { SelfReplacingMethodCallTargetNode selfReplacingMethodCallTargetNode = (SelfReplacingMethodCallTargetNode) callTarget; @@ -221,7 +215,7 @@ ValueNode argument = arguments.get(index); ResolvedJavaType argumentType = StampTool.typeOrNull(argument.stamp()); if (argumentType == null || (argumentType.isAssignableFrom(targetType) && !argumentType.equals(targetType))) { - PiNode piNode = graph().unique(PiNode.create(argument, StampFactory.declared(targetType))); + PiNode piNode = graph().unique(new PiNode(argument, StampFactory.declared(targetType))); arguments.set(index, piNode); } } @@ -260,10 +254,10 @@ // If there is already replacement information, use that instead. MethodCallTargetNode callTarget; if (replacementTargetMethod == null) { - callTarget = SelfReplacingMethodCallTargetNode.create(targetInvokeKind, target, targetArguments, targetReturnType, getTargetMethod(), originalArguments, getReturnType()); + callTarget = new SelfReplacingMethodCallTargetNode(targetInvokeKind, target, targetArguments, targetReturnType, getTargetMethod(), originalArguments, getReturnType()); } else { ValueNode[] args = replacementArguments.toArray(new ValueNode[replacementArguments.size()]); - callTarget = SelfReplacingMethodCallTargetNode.create(targetInvokeKind, target, targetArguments, targetReturnType, replacementTargetMethod, args, replacementReturnType); + callTarget = new SelfReplacingMethodCallTargetNode(targetInvokeKind, target, targetArguments, targetReturnType, replacementTargetMethod, args, replacementReturnType); } graph().add(callTarget); @@ -274,9 +268,9 @@ // (usually java.lang.Object). InvokeNode invoke; if (stamp() == StampFactory.forVoid()) { - invoke = InvokeNode.create(callTarget, getBci(), stamp()); + invoke = new InvokeNode(callTarget, getBci(), stamp()); } else { - invoke = InvokeNode.create(callTarget, getBci()); + invoke = new InvokeNode(callTarget, getBci()); } graph().add(invoke); invoke.setStateAfter(stateAfter());
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java Mon Jan 12 20:39:04 2015 +0100 @@ -496,8 +496,8 @@ if (nodes.isEmpty()) { // Only insert the nodes if this is the first monitorenter being lowered. JavaType returnType = initCounter.getMethod().getSignature().getReturnType(initCounter.getMethod().getDeclaringClass()); - MethodCallTargetNode callTarget = graph.add(MethodCallTargetNode.create(InvokeKind.Static, initCounter.getMethod(), new ValueNode[0], returnType)); - InvokeNode invoke = graph.add(InvokeNode.create(callTarget, 0)); + MethodCallTargetNode callTarget = graph.add(new MethodCallTargetNode(InvokeKind.Static, initCounter.getMethod(), new ValueNode[0], returnType)); + InvokeNode invoke = graph.add(new InvokeNode(callTarget, 0)); invoke.setStateAfter(graph.start().stateAfter()); graph.addAfterFixed(graph.start(), invoke); @@ -509,10 +509,10 @@ returnType = checkCounter.getMethod().getSignature().getReturnType(checkCounter.getMethod().getDeclaringClass()); String msg = "unbalanced monitors in " + graph.method().format("%H.%n(%p)") + ", count = %d"; ConstantNode errMsg = ConstantNode.forConstant(tool.getConstantReflection().forString(msg), providers.getMetaAccess(), graph); - callTarget = graph.add(MethodCallTargetNode.create(InvokeKind.Static, checkCounter.getMethod(), new ValueNode[]{errMsg}, returnType)); - invoke = graph.add(InvokeNode.create(callTarget, 0)); + callTarget = graph.add(new MethodCallTargetNode(InvokeKind.Static, checkCounter.getMethod(), new ValueNode[]{errMsg}, returnType)); + invoke = graph.add(new InvokeNode(callTarget, 0)); List<ValueNode> stack = Collections.emptyList(); - FrameState stateAfter = FrameState.create(graph.method(), BytecodeFrame.AFTER_BCI, new ValueNode[0], stack, new ValueNode[0], new MonitorIdNode[0], false, false); + FrameState stateAfter = new FrameState(graph.method(), BytecodeFrame.AFTER_BCI, new ValueNode[0], stack, new ValueNode[0], new MonitorIdNode[0], false, false); invoke.setStateAfter(graph.add(stateAfter)); graph.addBeforeFixed(ret, invoke);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @NodeInfo public class ObjectCloneNode extends BasicObjectCloneNode implements VirtualizableAllocation, ArrayLengthProvider { - public static ObjectCloneNode create(Invoke invoke) { - return new ObjectCloneNode(invoke); - } - - protected ObjectCloneNode(Invoke invoke) { + public ObjectCloneNode(Invoke invoke) { super(invoke); } @@ -75,16 +71,16 @@ type = getConcreteType(getObject().stamp(), tool.assumptions(), tool.getMetaAccess()); if (type != null) { StructuredGraph newGraph = new StructuredGraph(); - ParameterNode param = newGraph.unique(ParameterNode.create(0, getObject().stamp())); - NewInstanceNode newInstance = newGraph.add(NewInstanceNode.create(type, true)); + ParameterNode param = newGraph.unique(new ParameterNode(0, getObject().stamp())); + NewInstanceNode newInstance = newGraph.add(new NewInstanceNode(type, true)); newGraph.addAfterFixed(newGraph.start(), newInstance); - ReturnNode returnNode = newGraph.add(ReturnNode.create(newInstance)); + ReturnNode returnNode = newGraph.add(new ReturnNode(newInstance)); newGraph.addAfterFixed(newInstance, returnNode); for (ResolvedJavaField field : type.getInstanceFields(true)) { - LoadFieldNode load = newGraph.add(LoadFieldNode.create(param, field)); + LoadFieldNode load = newGraph.add(new LoadFieldNode(param, field)); newGraph.addBeforeFixed(returnNode, load); - newGraph.addBeforeFixed(returnNode, newGraph.add(StoreFieldNode.create(newInstance, field, load))); + newGraph.addBeforeFixed(returnNode, newGraph.add(new StoreFieldNode(newInstance, field, load))); } return lowerReplacement(newGraph, tool); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class ReflectionGetCallerClassNode extends MacroStateSplitNode implements Canonicalizable, Lowerable { - public static ReflectionGetCallerClassNode create(Invoke invoke) { - return new ReflectionGetCallerClassNode(invoke); - } - - protected ReflectionGetCallerClassNode(Invoke invoke) { + public ReflectionGetCallerClassNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo public class SystemIdentityHashCodeNode extends PureFunctionMacroNode { - public static SystemIdentityHashCodeNode create(Invoke invoke) { - return new SystemIdentityHashCodeNode(invoke); - } - - protected SystemIdentityHashCodeNode(Invoke invoke) { + public SystemIdentityHashCodeNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -58,9 +58,14 @@ protected final HotSpotGraalRuntimeProvider runtime; - public static ArrayCopyCallNode create(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, - Kind elementKind, boolean aligned, boolean disjoint, boolean uninitialized) { - return new ArrayCopyCallNode(src, srcPos, dest, destPos, length, elementKind, aligned, disjoint, uninitialized, runtime); + public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, + boolean aligned, boolean disjoint, boolean uninitialized) { + this(src, srcPos, dest, destPos, length, elementKind, aligned, disjoint, uninitialized, runtime); + } + + public ArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, + boolean disjoint) { + this(src, srcPos, dest, destPos, length, elementKind, false, disjoint, false, runtime); } protected ArrayCopyCallNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, boolean aligned, boolean disjoint, boolean uninitialized, @@ -79,11 +84,6 @@ this.runtime = runtime; } - public static ArrayCopyCallNode create(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, - Kind elementKind, boolean disjoint) { - return new ArrayCopyCallNode(src, srcPos, dest, destPos, length, elementKind, false, disjoint, false, runtime); - } - public ValueNode getSource() { return src; } @@ -109,10 +109,10 @@ } private ValueNode computeBase(ValueNode base, ValueNode pos) { - FixedWithNextNode basePtr = graph().add(GetObjectAddressNode.create(base)); + FixedWithNextNode basePtr = graph().add(new GetObjectAddressNode(base)); graph().addBeforeFixed(this, basePtr); - ValueNode loc = IndexedLocationNode.create(getLocationIdentity(), runtime.getArrayBaseOffset(elementKind), pos, graph(), runtime.getArrayIndexScale(elementKind)); - return graph().unique(ComputeAddressNode.create(basePtr, loc, StampFactory.forKind(Kind.Long))); + ValueNode loc = graph().unique(new IndexedLocationNode(getLocationIdentity(), runtime.getArrayBaseOffset(elementKind), pos, runtime.getArrayIndexScale(elementKind))); + return graph().unique(new ComputeAddressNode(basePtr, loc, StampFactory.forKind(Kind.Long))); } @Override @@ -127,7 +127,7 @@ if (len.stamp().getStackKind() != Kind.Long) { len = IntegerConvertNode.convert(len, StampFactory.forKind(Kind.Long), graph()); } - ForeignCallNode call = graph.add(ForeignCallNode.create(Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getForeignCalls(), desc, srcAddr, destAddr, len)); + ForeignCallNode call = graph.add(new ForeignCallNode(Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getForeignCalls(), desc, srcAddr, destAddr, len)); call.setStateAfter(stateAfter()); graph.replaceFixedWithFixed(this, call);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @NodeInfo public class ArrayCopyNode extends BasicArrayCopyNode implements Virtualizable, Lowerable { - public static ArrayCopyNode create(Invoke invoke) { - return new ArrayCopyNode(invoke); - } - - protected ArrayCopyNode(Invoke invoke) { + public ArrayCopyNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -52,13 +52,8 @@ protected final HotSpotGraalRuntimeProvider runtime; - public static CheckcastArrayCopyCallNode create(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, + protected CheckcastArrayCopyCallNode(@InjectedNodeParameter HotSpotGraalRuntimeProvider runtime, ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode superCheckOffset, ValueNode destElemKlass, boolean uninit) { - return new CheckcastArrayCopyCallNode(src, srcPos, dest, destPos, length, superCheckOffset, destElemKlass, uninit, runtime); - } - - protected CheckcastArrayCopyCallNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode superCheckOffset, ValueNode destElemKlass, boolean uninit, - HotSpotGraalRuntimeProvider runtime) { super(StampFactory.forKind(Kind.Int)); this.src = src; this.srcPos = srcPos; @@ -96,10 +91,10 @@ } private ValueNode computeBase(ValueNode base, ValueNode pos) { - FixedWithNextNode basePtr = graph().add(GetObjectAddressNode.create(base)); + FixedWithNextNode basePtr = graph().add(new GetObjectAddressNode(base)); graph().addBeforeFixed(this, basePtr); - ValueNode loc = IndexedLocationNode.create(getLocationIdentity(), runtime.getArrayBaseOffset(Kind.Object), pos, graph(), runtime.getArrayIndexScale(Kind.Object)); - return graph().unique(ComputeAddressNode.create(basePtr, loc, StampFactory.forKind(Kind.Long))); + ValueNode loc = graph().unique(new IndexedLocationNode(getLocationIdentity(), runtime.getArrayBaseOffset(Kind.Object), pos, runtime.getArrayIndexScale(Kind.Object))); + return graph().unique(new ComputeAddressNode(basePtr, loc, StampFactory.forKind(Kind.Long))); } @Override @@ -113,8 +108,8 @@ if (len.stamp().getStackKind() != Kind.Long) { len = IntegerConvertNode.convert(len, StampFactory.forKind(Kind.Long), graph()); } - ForeignCallNode call = graph.add(ForeignCallNode.create(Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getForeignCalls(), desc, srcAddr, destAddr, len, - superCheckOffset, destElemKlass)); + ForeignCallNode call = graph.add(new ForeignCallNode(Graal.getRequiredCapability(RuntimeProvider.class).getHostBackend().getForeignCalls(), desc, srcAddr, destAddr, len, superCheckOffset, + destElemKlass)); call.setStateAfter(stateAfter()); graph.replaceFixedWithFixed(this, call); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected Kind elementKind; - public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) { - return new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, layoutHelper, elementKind); - } - - protected UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) { + public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) { super(StampFactory.forVoid()); assert layoutHelper == null || elementKind == null; this.src = src; @@ -60,19 +56,11 @@ this.elementKind = elementKind; } - public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) { - return new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, elementKind); - } - - protected UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) { + public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) { this(src, srcPos, dest, destPos, length, null, elementKind); } - public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper) { - return new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, layoutHelper); - } - - protected UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper) { + public UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper) { this(src, srcPos, dest, destPos, length, layoutHelper, null); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java Mon Jan 12 20:39:04 2015 +0100 @@ -195,14 +195,14 @@ GraphKit kit = new HotSpotGraphKit(graph, providers); ParameterNode[] params = createParameters(kit, args); - ReadRegisterNode thread = kit.append(ReadRegisterNode.create(providers.getRegisters().getThreadRegister(), true, false)); + ReadRegisterNode thread = kit.append(new ReadRegisterNode(providers.getRegisters().getThreadRegister(), true, false)); ValueNode result = createTargetCall(kit, params, thread); kit.createInvoke(StubUtil.class, "handlePendingException", thread, ConstantNode.forBoolean(isObjectResult, graph)); if (isObjectResult) { InvokeNode object = kit.createInvoke(HotSpotReplacementsUtil.class, "getAndClearObjectResult", thread); result = kit.createInvoke(StubUtil.class, "verifyObject", object); } - kit.append(ReturnNode.create(linkage.getDescriptor().getResultType() == void.class ? null : result)); + kit.append(new ReturnNode(linkage.getDescriptor().getResultType() == void.class ? null : result)); if (Debug.isDumpEnabled()) { Debug.dump(graph, "Initial stub graph"); @@ -242,7 +242,7 @@ } else { stamp = StampFactory.forKind(type.getKind()); } - ParameterNode param = kit.unique(ParameterNode.create(i, stamp)); + ParameterNode param = kit.unique(new ParameterNode(i, stamp)); params[i] = param; } return params; @@ -253,9 +253,9 @@ ValueNode[] targetArguments = new ValueNode[1 + params.length]; targetArguments[0] = thread; System.arraycopy(params, 0, targetArguments, 1, params.length); - return kit.append(StubForeignCallNode.create(providers.getForeignCalls(), target.getDescriptor(), targetArguments)); + return kit.append(new StubForeignCallNode(providers.getForeignCalls(), target.getDescriptor(), targetArguments)); } else { - return kit.append(StubForeignCallNode.create(providers.getForeignCalls(), target.getDescriptor(), params)); + return kit.append(new StubForeignCallNode(providers.getForeignCalls(), target.getDescriptor(), params)); } } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Mon Jan 12 20:39:04 2015 +0100 @@ -148,7 +148,7 @@ try (Scope d = Debug.sandbox("CompilingStub", DebugScope.getConfig(), providers.getCodeCache(), debugScopeContext())) { final StructuredGraph graph = getGraph(); if (!(graph.start() instanceof StubStartNode)) { - StubStartNode newStart = graph.add(StubStartNode.create(Stub.this)); + StubStartNode newStart = graph.add(new StubStartNode(Stub.this)); newStart.setStateAfter(graph.start().stateAfter()); graph.replaceFixed(graph.start(), newStart); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypeRewriterPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypeRewriterPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -80,7 +80,7 @@ /* * Prevent rewriting of the MetaspacePointerStamp in the CanonicalizerPhase. */ - graph.replaceFixedWithFixed(node, graph.add(LoadIndexedPointerNode.create(node.stamp(), node.array(), node.index()))); + graph.replaceFixedWithFixed(node, graph.add(new LoadIndexedPointerNode(node.stamp(), node.array(), node.index()))); } else { super.rewriteAccessIndexed(graph, node); } @@ -115,17 +115,17 @@ case FROM_POINTER: assert arguments.size() == 1; - replace(invoke, graph.unique(PointerCastNode.create(StampFactory.forKind(wordKind), arguments.get(0)))); + replace(invoke, graph.unique(new PointerCastNode(StampFactory.forKind(wordKind), arguments.get(0)))); break; case TO_KLASS_POINTER: assert arguments.size() == 1; - replace(invoke, graph.unique(PointerCastNode.create(KlassPointerStamp.klass(), arguments.get(0)))); + replace(invoke, graph.unique(new PointerCastNode(KlassPointerStamp.klass(), arguments.get(0)))); break; case TO_METHOD_POINTER: assert arguments.size() == 1; - replace(invoke, graph.unique(PointerCastNode.create(MethodPointerStamp.method(), arguments.get(0)))); + replace(invoke, graph.unique(new PointerCastNode(MethodPointerStamp.method(), arguments.get(0)))); break; case READ_KLASS_POINTER: @@ -150,7 +150,7 @@ assert op == READ_KLASS_POINTER; final BarrierType barrier = BarrierType.NONE; - ReadNode read = graph.add(ReadNode.create(base, location, readStamp, barrier)); + ReadNode read = graph.add(new ReadNode(base, location, readStamp, barrier)); graph.addBeforeFixed(invoke.asNode(), read); /* * The read must not float outside its block otherwise it may float above an explicit zero @@ -164,16 +164,16 @@ assert left.stamp() instanceof MetaspacePointerStamp && right.stamp() instanceof MetaspacePointerStamp; assert opcode == POINTER_EQ || opcode == POINTER_NE; - PointerEqualsNode comparison = graph.unique(PointerEqualsNode.create(left, right)); + PointerEqualsNode comparison = graph.unique(new PointerEqualsNode(left, right)); ValueNode eqValue = ConstantNode.forBoolean(opcode == POINTER_EQ, graph); ValueNode neValue = ConstantNode.forBoolean(opcode == POINTER_NE, graph); - return graph.unique(ConditionalNode.create(comparison, eqValue, neValue)); + return graph.unique(new ConditionalNode(comparison, eqValue, neValue)); } private static ValueNode pointerIsNullOp(StructuredGraph graph, ValueNode pointer) { assert pointer.stamp() instanceof MetaspacePointerStamp; - IsNullNode isNull = graph.unique(IsNullNode.create(pointer)); - return graph.unique(ConditionalNode.create(isNull, ConstantNode.forBoolean(true, graph), ConstantNode.forBoolean(false, graph))); + IsNullNode isNull = graph.unique(new IsNullNode(pointer)); + return graph.unique(new ConditionalNode(isNull, ConstantNode.forBoolean(true, graph), ConstantNode.forBoolean(false, graph))); } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/PointerCastNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/PointerCastNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input ValueNode input; - public static PointerCastNode create(Stamp stamp, ValueNode input) { - return new PointerCastNode(stamp, input); - } - - protected PointerCastNode(Stamp stamp, ValueNode input) { + public PointerCastNode(Stamp stamp, ValueNode input) { super(stamp); this.input = input; }
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -263,7 +263,7 @@ @Override protected void handleUnresolvedLoadConstant(JavaType type) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -273,7 +273,7 @@ @Override protected void handleUnresolvedCheckCast(JavaType type, ValueNode object) { assert !graphBuilderConfig.eagerResolving(); - append(FixedGuardNode.create(currentGraph.unique(IsNullNode.create(object)), Unresolved, InvalidateRecompile)); + append(new FixedGuardNode(currentGraph.unique(new IsNullNode(object)), Unresolved, InvalidateRecompile)); frameState.apush(appendConstant(JavaConstant.NULL_POINTER)); } @@ -284,9 +284,9 @@ @Override protected void handleUnresolvedInstanceOf(JavaType type, ValueNode object) { assert !graphBuilderConfig.eagerResolving(); - BeginNode successor = currentGraph.add(BeginNode.create()); - DeoptimizeNode deopt = currentGraph.add(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); - append(IfNode.create(currentGraph.unique(IsNullNode.create(object)), successor, deopt, 1)); + BeginNode successor = currentGraph.add(new BeginNode()); + DeoptimizeNode deopt = currentGraph.add(new DeoptimizeNode(InvalidateRecompile, Unresolved)); + append(new IfNode(currentGraph.unique(new IsNullNode(object)), successor, deopt, 1)); lastInstr = successor; frameState.ipush(appendConstant(JavaConstant.INT_0)); } @@ -297,7 +297,7 @@ @Override protected void handleUnresolvedNewInstance(JavaType type) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -307,7 +307,7 @@ @Override protected void handleUnresolvedNewObjectArray(JavaType type, ValueNode length) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -317,7 +317,7 @@ @Override protected void handleUnresolvedNewMultiArray(JavaType type, List<ValueNode> dims) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -328,7 +328,7 @@ @Override protected void handleUnresolvedLoadField(JavaField field, ValueNode receiver) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -340,7 +340,7 @@ @Override protected void handleUnresolvedStoreField(JavaField field, ValueNode value, ValueNode receiver) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -349,7 +349,7 @@ @Override protected void handleUnresolvedExceptionType(JavaType type) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } /** @@ -358,7 +358,7 @@ */ protected void handleUnresolvedInvoke(JavaMethod javaMethod, InvokeKind invokeKind) { assert !graphBuilderConfig.eagerResolving(); - append(DeoptimizeNode.create(InvalidateRecompile, Unresolved)); + append(new DeoptimizeNode(InvalidateRecompile, Unresolved)); } private DispatchBeginNode handleException(ValueNode exceptionObject, int bci) { @@ -380,12 +380,12 @@ DispatchBeginNode dispatchBegin; if (exceptionObject == null) { - dispatchBegin = currentGraph.add(ExceptionObjectNode.create(metaAccess)); + dispatchBegin = currentGraph.add(new ExceptionObjectNode(metaAccess)); dispatchState.apush(dispatchBegin); dispatchState.setRethrowException(true); dispatchBegin.setStateAfter(dispatchState.create(bci)); } else { - dispatchBegin = currentGraph.add(DispatchBeginNode.create()); + dispatchBegin = currentGraph.add(new DispatchBeginNode()); dispatchState.apush(exceptionObject); dispatchBegin.setStateAfter(dispatchState.create(bci)); dispatchState.setRethrowException(true); @@ -398,122 +398,122 @@ @Override protected ValueNode genLoadIndexed(ValueNode array, ValueNode index, Kind kind) { - return LoadIndexedNode.create(array, index, kind); + return new LoadIndexedNode(array, index, kind); } @Override protected ValueNode genStoreIndexed(ValueNode array, ValueNode index, Kind kind, ValueNode value) { - return StoreIndexedNode.create(array, index, kind, value); + return new StoreIndexedNode(array, index, kind, value); } @Override protected ValueNode genIntegerAdd(Kind kind, ValueNode x, ValueNode y) { - return AddNode.create(x, y); + return new AddNode(x, y); } @Override protected ValueNode genIntegerSub(Kind kind, ValueNode x, ValueNode y) { - return SubNode.create(x, y); + return new SubNode(x, y); } @Override protected ValueNode genIntegerMul(Kind kind, ValueNode x, ValueNode y) { - return MulNode.create(x, y); + return new MulNode(x, y); } @Override protected ValueNode genFloatAdd(Kind kind, ValueNode x, ValueNode y, boolean isStrictFP) { - return AddNode.create(x, y); + return new AddNode(x, y); } @Override protected ValueNode genFloatSub(Kind kind, ValueNode x, ValueNode y, boolean isStrictFP) { - return SubNode.create(x, y); + return new SubNode(x, y); } @Override protected ValueNode genFloatMul(Kind kind, ValueNode x, ValueNode y, boolean isStrictFP) { - return MulNode.create(x, y); + return new MulNode(x, y); } @Override protected ValueNode genFloatDiv(Kind kind, ValueNode x, ValueNode y, boolean isStrictFP) { - return DivNode.create(x, y); + return new DivNode(x, y); } @Override protected ValueNode genFloatRem(Kind kind, ValueNode x, ValueNode y, boolean isStrictFP) { - return RemNode.create(x, y); + return new RemNode(x, y); } @Override protected ValueNode genIntegerDiv(Kind kind, ValueNode x, ValueNode y) { - return IntegerDivNode.create(x, y); + return new IntegerDivNode(x, y); } @Override protected ValueNode genIntegerRem(Kind kind, ValueNode x, ValueNode y) { - return IntegerRemNode.create(x, y); + return new IntegerRemNode(x, y); } @Override protected ValueNode genNegateOp(ValueNode x) { - return (NegateNode.create(x)); + return (new NegateNode(x)); } @Override protected ValueNode genLeftShift(Kind kind, ValueNode x, ValueNode y) { - return LeftShiftNode.create(x, y); + return new LeftShiftNode(x, y); } @Override protected ValueNode genRightShift(Kind kind, ValueNode x, ValueNode y) { - return RightShiftNode.create(x, y); + return new RightShiftNode(x, y); } @Override protected ValueNode genUnsignedRightShift(Kind kind, ValueNode x, ValueNode y) { - return UnsignedRightShiftNode.create(x, y); + return new UnsignedRightShiftNode(x, y); } @Override protected ValueNode genAnd(Kind kind, ValueNode x, ValueNode y) { - return AndNode.create(x, y); + return new AndNode(x, y); } @Override protected ValueNode genOr(Kind kind, ValueNode x, ValueNode y) { - return OrNode.create(x, y); + return new OrNode(x, y); } @Override protected ValueNode genXor(Kind kind, ValueNode x, ValueNode y) { - return XorNode.create(x, y); + return new XorNode(x, y); } @Override protected ValueNode genNormalizeCompare(ValueNode x, ValueNode y, boolean isUnorderedLess) { - return NormalizeCompareNode.create(x, y, isUnorderedLess); + return new NormalizeCompareNode(x, y, isUnorderedLess); } @Override protected ValueNode genFloatConvert(FloatConvert op, ValueNode input) { - return FloatConvertNode.create(op, input); + return new FloatConvertNode(op, input); } @Override protected ValueNode genNarrow(ValueNode input, int bitCount) { - return NarrowNode.create(input, bitCount); + return new NarrowNode(input, bitCount); } @Override protected ValueNode genSignExtend(ValueNode input, int bitCount) { - return SignExtendNode.create(input, bitCount); + return new SignExtendNode(input, bitCount); } @Override protected ValueNode genZeroExtend(ValueNode input, int bitCount) { - return ZeroExtendNode.create(input, bitCount); + return new ZeroExtendNode(input, bitCount); } @Override @@ -524,17 +524,17 @@ @Override protected ValueNode genObjectEquals(ValueNode x, ValueNode y) { - return ObjectEqualsNode.create(x, y); + return new ObjectEqualsNode(x, y); } @Override protected ValueNode genIntegerEquals(ValueNode x, ValueNode y) { - return IntegerEqualsNode.create(x, y); + return new IntegerEqualsNode(x, y); } @Override protected ValueNode genIntegerLessThan(ValueNode x, ValueNode y) { - return IntegerLessThanNode.create(x, y); + return new IntegerLessThanNode(x, y); } @Override @@ -543,49 +543,49 @@ } protected ValueNode genIfNode(ValueNode condition, ValueNode falseSuccessor, ValueNode trueSuccessor, double d) { - return IfNode.create((LogicNode) condition, (FixedNode) falseSuccessor, (FixedNode) trueSuccessor, d); + return new IfNode((LogicNode) condition, (FixedNode) falseSuccessor, (FixedNode) trueSuccessor, d); } @Override protected void genThrow() { ValueNode exception = frameState.apop(); - append(FixedGuardNode.create(currentGraph.unique(IsNullNode.create(exception)), NullCheckException, InvalidateReprofile, true)); + append(new FixedGuardNode(currentGraph.unique(new IsNullNode(exception)), NullCheckException, InvalidateReprofile, true)); lastInstr.setNext(handleException(exception, bci())); } @Override protected ValueNode createCheckCast(ResolvedJavaType type, ValueNode object, JavaTypeProfile profileForTypeCheck, boolean forStoreCheck) { - return CheckCastNode.create(type, object, profileForTypeCheck, forStoreCheck); + return new CheckCastNode(type, object, profileForTypeCheck, forStoreCheck); } @Override protected ValueNode createInstanceOf(ResolvedJavaType type, ValueNode object, JavaTypeProfile profileForTypeCheck) { - return InstanceOfNode.create(type, object, profileForTypeCheck); + return new InstanceOfNode(type, object, profileForTypeCheck); } @Override protected ValueNode genConditional(ValueNode x) { - return ConditionalNode.create((LogicNode) x); + return new ConditionalNode((LogicNode) x); } @Override protected NewInstanceNode createNewInstance(ResolvedJavaType type, boolean fillContents) { - return NewInstanceNode.create(type, fillContents); + return new NewInstanceNode(type, fillContents); } @Override protected NewArrayNode createNewArray(ResolvedJavaType elementType, ValueNode length, boolean fillContents) { - return NewArrayNode.create(elementType, length, fillContents); + return new NewArrayNode(elementType, length, fillContents); } @Override protected NewMultiArrayNode createNewMultiArray(ResolvedJavaType type, List<ValueNode> dimensions) { - return NewMultiArrayNode.create(type, dimensions.toArray(new ValueNode[0])); + return new NewMultiArrayNode(type, dimensions.toArray(new ValueNode[0])); } @Override protected ValueNode genLoadField(ValueNode receiver, ResolvedJavaField field) { - return LoadFieldNode.create(receiver, field); + return new LoadFieldNode(receiver, field); } @Override @@ -593,9 +593,9 @@ if (StampTool.isPointerNonNull(receiver.stamp())) { return; } - BytecodeExceptionNode exception = currentGraph.add(BytecodeExceptionNode.create(metaAccess, NullPointerException.class)); - BeginNode falseSucc = currentGraph.add(BeginNode.create()); - append(IfNode.create(currentGraph.unique(IsNullNode.create(receiver)), exception, falseSucc, 0.01)); + BytecodeExceptionNode exception = currentGraph.add(new BytecodeExceptionNode(metaAccess, NullPointerException.class)); + BeginNode falseSucc = currentGraph.add(new BeginNode()); + append(new IfNode(currentGraph.unique(new IsNullNode(receiver)), exception, falseSucc, 0.01)); lastInstr = falseSucc; exception.setStateAfter(frameState.create(bci())); @@ -604,9 +604,9 @@ @Override protected void emitBoundsCheck(ValueNode index, ValueNode length) { - BeginNode trueSucc = currentGraph.add(BeginNode.create()); - BytecodeExceptionNode exception = currentGraph.add(BytecodeExceptionNode.create(metaAccess, ArrayIndexOutOfBoundsException.class, index)); - append(IfNode.create(currentGraph.unique(IntegerBelowNode.create(index, length)), trueSucc, exception, 0.99)); + BeginNode trueSucc = currentGraph.add(new BeginNode()); + BytecodeExceptionNode exception = currentGraph.add(new BytecodeExceptionNode(metaAccess, ArrayIndexOutOfBoundsException.class, index)); + append(new IfNode(currentGraph.unique(new IntegerBelowNode(index, length)), trueSucc, exception, 0.99)); lastInstr = trueSucc; exception.setStateAfter(frameState.create(bci())); @@ -615,12 +615,12 @@ @Override protected ValueNode genArrayLength(ValueNode x) { - return ArrayLengthNode.create(x); + return new ArrayLengthNode(x); } @Override protected ValueNode genStoreField(ValueNode receiver, ResolvedJavaField field, ValueNode value) { - return StoreFieldNode.create(receiver, field, value); + return new StoreFieldNode(receiver, field, value); } /** @@ -721,7 +721,7 @@ private void appendInvoke(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] args) { Kind resultType = targetMethod.getSignature().getReturnKind(); if (DeoptALot.getValue()) { - append(DeoptimizeNode.create(DeoptimizationAction.None, RuntimeConstraint)); + append(new DeoptimizeNode(DeoptimizationAction.None, RuntimeConstraint)); frameState.pushReturn(resultType, ConstantNode.defaultForKind(resultType, currentGraph)); return; } @@ -746,25 +746,25 @@ createInvoke(callTarget, resultType); } else { InvokeWithExceptionNode invoke = createInvokeWithException(callTarget, resultType); - BeginNode beginNode = currentGraph.add(KillingBeginNode.create(LocationIdentity.ANY_LOCATION)); + BeginNode beginNode = currentGraph.add(new KillingBeginNode(LocationIdentity.ANY_LOCATION)); invoke.setNext(beginNode); lastInstr = beginNode; } } protected MethodCallTargetNode createMethodCallTarget(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] args, JavaType returnType) { - return MethodCallTargetNode.create(invokeKind, targetMethod, args, returnType); + return new MethodCallTargetNode(invokeKind, targetMethod, args, returnType); } protected InvokeNode createInvoke(CallTargetNode callTarget, Kind resultType) { - InvokeNode invoke = append(InvokeNode.create(callTarget, bci())); + InvokeNode invoke = append(new InvokeNode(callTarget, bci())); frameState.pushReturn(resultType, invoke); return invoke; } protected InvokeWithExceptionNode createInvokeWithException(CallTargetNode callTarget, Kind resultType) { DispatchBeginNode exceptionEdge = handleException(null, bci()); - InvokeWithExceptionNode invoke = append(InvokeWithExceptionNode.create(callTarget, exceptionEdge, bci())); + InvokeWithExceptionNode invoke = append(new InvokeWithExceptionNode(callTarget, exceptionEdge, bci())); frameState.pushReturn(resultType, invoke); invoke.setStateAfter(frameState.create(stream.nextBCI())); return invoke; @@ -783,13 +783,13 @@ throw new BailoutException("unbalanced monitors"); } - append(ReturnNode.create(x)); + append(new ReturnNode(x)); } @Override protected MonitorEnterNode genMonitorEnter(ValueNode x) { - MonitorIdNode monitorId = currentGraph.add(MonitorIdNode.create(frameState.lockDepth())); - MonitorEnterNode monitorEnter = append(MonitorEnterNode.create(x, monitorId)); + MonitorIdNode monitorId = currentGraph.add(new MonitorIdNode(frameState.lockDepth())); + MonitorEnterNode monitorEnter = append(new MonitorEnterNode(x, monitorId)); frameState.pushLock(x, monitorId); return monitorEnter; } @@ -801,7 +801,7 @@ if (GraphUtil.originalValue(lockedObject) != GraphUtil.originalValue(x)) { throw new BailoutException("unbalanced monitors: mismatch at monitorexit, %s != %s", GraphUtil.originalValue(x), GraphUtil.originalValue(lockedObject)); } - MonitorExitNode monitorExit = append(MonitorExitNode.create(x, monitorId, returnValue)); + MonitorExitNode monitorExit = append(new MonitorExitNode(x, monitorId, returnValue)); return monitorExit; } @@ -829,9 +829,9 @@ JsrScope scope = currentBlock.getJsrScope(); int retAddress = scope.nextReturnAddress(); ConstantNode returnBciNode = getJsrConstant(retAddress); - LogicNode guard = IntegerEqualsNode.create(local, returnBciNode); + LogicNode guard = new IntegerEqualsNode(local, returnBciNode); guard = currentGraph.unique(guard); - append(FixedGuardNode.create(guard, JavaSubroutineMismatch, InvalidateReprofile)); + append(new FixedGuardNode(guard, JavaSubroutineMismatch, InvalidateReprofile)); if (!successor.getJsrScope().equals(scope.pop())) { throw new JsrNotSupportedBailout("unstructured control flow (ret leaves more than one scope)"); } @@ -841,14 +841,14 @@ private ConstantNode getJsrConstant(long bci) { JavaConstant nextBciConstant = new RawConstant(bci); Stamp nextBciStamp = StampFactory.forConstant(nextBciConstant); - ConstantNode nextBciNode = ConstantNode.create(nextBciConstant, nextBciStamp); + ConstantNode nextBciNode = new ConstantNode(nextBciConstant, nextBciStamp); return currentGraph.unique(nextBciNode); } @Override protected void genIntegerSwitch(ValueNode value, ArrayList<BciBlock> actualSuccessors, int[] keys, double[] keyProbabilities, int[] keySuccessors) { double[] successorProbabilities = successorProbabilites(actualSuccessors.size(), keySuccessors, keyProbabilities); - IntegerSwitchNode switchNode = append(IntegerSwitchNode.create(value, actualSuccessors.size(), keys, keyProbabilities, keySuccessors)); + IntegerSwitchNode switchNode = append(new IntegerSwitchNode(value, actualSuccessors.size(), keys, keyProbabilities, keySuccessors)); for (int i = 0; i < actualSuccessors.size(); i++) { switchNode.setBlockSuccessor(i, createBlockTarget(successorProbabilities[i], actualSuccessors.get(i), frameState)); } @@ -943,7 +943,7 @@ HIRFrameStateBuilder newState = state.copy(); for (BciBlock loop : exitLoops) { LoopBeginNode loopBegin = (LoopBeginNode) loop.firstInstruction; - LoopExitNode loopExit = currentGraph.add(LoopExitNode.create(loopBegin)); + LoopExitNode loopExit = currentGraph.add(new LoopExitNode(loopBegin)); if (lastLoopExit != null) { lastLoopExit.setNext(loopExit); } @@ -966,7 +966,7 @@ private FixedNode createTarget(double probability, BciBlock block, HIRFrameStateBuilder stateAfter) { assert probability >= 0 && probability <= 1.01 : probability; if (isNeverExecutedCode(probability)) { - return currentGraph.add(DeoptimizeNode.create(InvalidateReprofile, UnreachedCode)); + return currentGraph.add(new DeoptimizeNode(InvalidateReprofile, UnreachedCode)); } else { assert block != null; return createTarget(block, stateAfter); @@ -984,7 +984,7 @@ * this block again. */ FixedNode targetNode; - block.firstInstruction = currentGraph.add(BeginNode.create()); + block.firstInstruction = currentGraph.add(new BeginNode()); targetNode = block.firstInstruction; Target target = checkLoopExit(targetNode, block, state); FixedNode result = target.fixed; @@ -1007,7 +1007,7 @@ * the loop begin node created before. */ LoopBeginNode loopBegin = (LoopBeginNode) block.firstInstruction; - Target target = checkLoopExit(currentGraph.add(LoopEndNode.create(loopBegin)), block, state); + Target target = checkLoopExit(currentGraph.add(new LoopEndNode(loopBegin)), block, state); FixedNode result = target.fixed; ((HIRFrameStateBuilder) block.entryState).merge(loopBegin, target.state); @@ -1026,9 +1026,9 @@ BeginNode placeholder = (BeginNode) block.firstInstruction; // The EndNode for the already existing edge. - AbstractEndNode end = currentGraph.add(EndNode.create()); + AbstractEndNode end = currentGraph.add(new EndNode()); // The MergeNode that replaces the placeholder. - MergeNode mergeNode = currentGraph.add(MergeNode.create()); + MergeNode mergeNode = currentGraph.add(new MergeNode()); FixedNode next = placeholder.next(); if (placeholder.predecessor() instanceof ControlSplitNode) { @@ -1047,7 +1047,7 @@ MergeNode mergeNode = (MergeNode) block.firstInstruction; // The EndNode for the newly merged edge. - AbstractEndNode newEnd = currentGraph.add(EndNode.create()); + AbstractEndNode newEnd = currentGraph.add(new EndNode()); Target target = checkLoopExit(newEnd, block, state); FixedNode result = target.fixed; ((HIRFrameStateBuilder) block.entryState).merge(mergeNode, target.state); @@ -1138,7 +1138,7 @@ assert frameState.stackSize() == 1 : frameState; ValueNode exception = frameState.apop(); synchronizedEpilogue(BytecodeFrame.AFTER_EXCEPTION_BCI, null); - append(UnwindNode.create(exception)); + append(new UnwindNode(exception)); } private void synchronizedEpilogue(int bci, ValueNode returnValue) { @@ -1171,9 +1171,9 @@ if (skippedType.isAssignableFrom(resolvedCatchType)) { BciBlock nextBlock = block.getSuccessorCount() == 1 ? unwindBlock() : block.getSuccessor(1); ValueNode exception = frameState.stackAt(0); - FixedNode trueSuccessor = currentGraph.add(DeoptimizeNode.create(InvalidateReprofile, UnreachedCode)); + FixedNode trueSuccessor = currentGraph.add(new DeoptimizeNode(InvalidateReprofile, UnreachedCode)); FixedNode nextDispatch = createTarget(nextBlock, frameState); - append(IfNode.create(currentGraph.unique(InstanceOfNode.create((ResolvedJavaType) catchType, exception, null)), trueSuccessor, nextDispatch, 0)); + append(new IfNode(currentGraph.unique(new InstanceOfNode((ResolvedJavaType) catchType, exception, null)), trueSuccessor, nextDispatch, 0)); return; } } @@ -1182,7 +1182,7 @@ if (initialized) { BciBlock nextBlock = block.getSuccessorCount() == 1 ? unwindBlock() : block.getSuccessor(1); ValueNode exception = frameState.stackAt(0); - CheckCastNode checkCast = currentGraph.add(CheckCastNode.create((ResolvedJavaType) catchType, exception, null, false)); + CheckCastNode checkCast = currentGraph.add(new CheckCastNode((ResolvedJavaType) catchType, exception, null, false)); frameState.apop(); frameState.push(Kind.Object, checkCast); FixedNode catchSuccessor = createTarget(block.getSuccessor(0), frameState); @@ -1190,7 +1190,7 @@ frameState.push(Kind.Object, exception); FixedNode nextDispatch = createTarget(nextBlock, frameState); checkCast.setNext(catchSuccessor); - append(IfNode.create(currentGraph.unique(InstanceOfNode.create((ResolvedJavaType) catchType, exception, null)), checkCast, nextDispatch, 0.5)); + append(new IfNode(currentGraph.unique(new InstanceOfNode((ResolvedJavaType) catchType, exception, null)), checkCast, nextDispatch, 0.5)); } else { handleUnresolvedExceptionType(catchType); } @@ -1212,8 +1212,8 @@ // Create the loop header block, which later will merge the backward branches of // the // loop. - AbstractEndNode preLoopEnd = currentGraph.add(EndNode.create()); - LoopBeginNode loopBegin = currentGraph.add(LoopBeginNode.create()); + AbstractEndNode preLoopEnd = currentGraph.add(new EndNode()); + LoopBeginNode loopBegin = currentGraph.add(new LoopBeginNode()); lastInstr.setNext(preLoopEnd); // Add the single non-loop predecessor of the loop header. loopBegin.addForwardEnd(preLoopEnd); @@ -1265,7 +1265,7 @@ if (block.getJsrScope() != JsrScope.EMPTY_SCOPE) { throw new BailoutException("OSR into a JSR scope is not supported"); } - EntryMarkerNode x = append(EntryMarkerNode.create()); + EntryMarkerNode x = append(new EntryMarkerNode()); frameState.insertProxies(x); x.setStateAfter(frameState.create(bci)); } @@ -1317,9 +1317,9 @@ private InfopointNode createInfoPointNode(InfopointReason reason) { if (graphBuilderConfig.insertFullDebugInfo()) { - return FullInfopointNode.create(reason, frameState.create(bci())); + return new FullInfopointNode(reason, frameState.create(bci())); } else { - return SimpleInfopointNode.create(reason, new BytecodePosition(null, method, bci())); + return new SimpleInfopointNode(reason, new BytecodePosition(null, method, bci())); } }
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/HIRFrameStateBuilder.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/HIRFrameStateBuilder.java Mon Jan 12 20:39:04 2015 +0100 @@ -56,7 +56,7 @@ int index = 0; if (!method.isStatic()) { // add the receiver - ParameterNode receiver = graph.unique(ParameterNode.create(javaIndex, StampFactory.declaredNonNull(method.getDeclaringClass()))); + ParameterNode receiver = graph.unique(new ParameterNode(javaIndex, StampFactory.declaredNonNull(method.getDeclaringClass()))); storeLocal(javaIndex, receiver); javaIndex = 1; index = 1; @@ -76,7 +76,7 @@ } else { stamp = StampFactory.forKind(kind); } - ParameterNode param = graph.unique(ParameterNode.create(index, stamp)); + ParameterNode param = graph.unique(new ParameterNode(index, stamp)); storeLocal(javaIndex, param); javaIndex += stackSlots(kind); index++; @@ -123,7 +123,7 @@ } public FrameState create(int bci) { - return graph.add(FrameState.create(method, bci, locals, Arrays.asList(stack).subList(0, stackSize), lockedObjects, monitorIds, rethrowException, false)); + return graph.add(new FrameState(method, bci, locals, Arrays.asList(stack).subList(0, stackSize), lockedObjects, monitorIds, rethrowException, false)); } @Override @@ -190,7 +190,7 @@ return null; } - ValuePhiNode phi = graph.addWithoutUnique(ValuePhiNode.create(currentValue.stamp().unrestricted(), block)); + ValuePhiNode phi = graph.addWithoutUnique(new ValuePhiNode(currentValue.stamp().unrestricted(), block)); for (int i = 0; i < block.phiPredecessorCount(); i++) { phi.addInput(currentValue); } @@ -288,7 +288,7 @@ } assert !block.isPhiAtMerge(value) : "phi function for this block already created"; - ValuePhiNode phi = graph.addWithoutUnique(ValuePhiNode.create(value.stamp().unrestricted(), block)); + ValuePhiNode phi = graph.addWithoutUnique(new ValuePhiNode(value.stamp().unrestricted(), block)); phi.addInput(value); return phi; }
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java Mon Jan 12 20:39:04 2015 +0100 @@ -68,5 +68,4 @@ assert frameMap != null : "getFrameMap() can only be used after calling buildFrameMap()!"; return frameMap; } - }
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/BasicInductionVariable.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/BasicInductionVariable.java Mon Jan 12 20:39:04 2015 +0100 @@ -86,7 +86,7 @@ return rawStride; } if (op instanceof SubNode) { - return graph().unique(NegateNode.create(rawStride)); + return graph().unique(new NegateNode(rawStride)); } throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/CountedLoopInfo.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/CountedLoopInfo.java Mon Jan 12 20:39:04 2015 +0100 @@ -63,13 +63,13 @@ range = BinaryArithmeticNode.sub(graph, range, ConstantNode.forIntegerStamp(stamp, 1, graph)); } } - IntegerDivNode div = graph.add(IntegerDivNode.create(range, iv.strideNode())); + IntegerDivNode div = graph.add(new IntegerDivNode(range, iv.strideNode())); graph.addBeforeFixed(loop.entryPoint(), div); ConstantNode zero = ConstantNode.forIntegerStamp(stamp, 0, graph); if (assumePositive) { return div; } - return graph.unique(ConditionalNode.create(graph.unique(IntegerLessThanNode.create(zero, div)), div, zero)); + return graph.unique(new ConditionalNode(graph.unique(new IntegerLessThanNode(zero, div)), div, zero)); } public boolean isConstantMaxTripCount() { @@ -148,16 +148,16 @@ if (oneOff) { v1 = sub(graph, v1, one); } - cond = graph.unique(IntegerLessThanNode.create(v1, end)); + cond = graph.unique(new IntegerLessThanNode(v1, end)); } else { assert iv.direction() == Direction.Down; BinaryArithmeticNode<?> v1 = add(graph, ConstantNode.forIntegerStamp(stamp, CodeUtil.minValue(stamp.getBits()), graph), sub(graph, one, iv.strideNode())); if (oneOff) { v1 = add(graph, v1, one); } - cond = graph.unique(IntegerLessThanNode.create(end, v1)); + cond = graph.unique(new IntegerLessThanNode(end, v1)); } - overflowGuard = graph.unique(GuardNode.create(cond, BeginNode.prevBegin(loop.entryPoint()), DeoptimizationReason.LoopLimitCheck, DeoptimizationAction.InvalidateRecompile, true, + overflowGuard = graph.unique(new GuardNode(cond, BeginNode.prevBegin(loop.entryPoint()), DeoptimizationReason.LoopLimitCheck, DeoptimizationAction.InvalidateRecompile, true, JavaConstant.NULL_POINTER)); // TODO gd: use speculation loop.loopBegin().setOverflowGuard(overflowGuard); return overflowGuard;
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/DerivedOffsetInductionVariable.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/DerivedOffsetInductionVariable.java Mon Jan 12 20:39:04 2015 +0100 @@ -86,7 +86,7 @@ @Override public ValueNode strideNode() { if (value instanceof SubNode && base.valueNode() == value.getY()) { - return graph().unique(NegateNode.create(base.strideNode())); + return graph().unique(new NegateNode(base.strideNode())); } return base.strideNode(); }
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Mon Jan 12 20:39:04 2015 +0100 @@ -312,9 +312,9 @@ if (newEarlyExit == null) { continue; } - MergeNode merge = graph.add(MergeNode.create()); - AbstractEndNode originalEnd = graph.add(EndNode.create()); - AbstractEndNode newEnd = graph.add(EndNode.create()); + MergeNode merge = graph.add(new MergeNode()); + AbstractEndNode originalEnd = graph.add(new EndNode()); + AbstractEndNode newEnd = graph.add(new EndNode()); merge.addForwardEnd(originalEnd); merge.addForwardEnd(newEnd); loopEarlyExit.setNext(originalEnd); @@ -354,9 +354,9 @@ if (newVpn != null) { PhiNode phi; if (vpn instanceof ValueProxyNode) { - phi = graph.addWithoutUnique(ValuePhiNode.create(vpn.stamp(), merge)); + phi = graph.addWithoutUnique(new ValuePhiNode(vpn.stamp(), merge)); } else if (vpn instanceof GuardProxyNode) { - phi = graph.addWithoutUnique(GuardPhiNode.create(merge)); + phi = graph.addWithoutUnique(new GuardPhiNode(merge)); } else { throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java Mon Jan 12 20:39:04 2015 +0100 @@ -152,7 +152,7 @@ if (value != null) { return value; } - BeginNode newValue = graph.add(BeginNode.create()); + BeginNode newValue = graph.add(new BeginNode()); seenNode.put(original, newValue); return newValue; } @@ -161,7 +161,7 @@ if (value != null) { return value; } - BeginNode newValue = graph.add(BeginNode.create()); + BeginNode newValue = graph.add(new BeginNode()); seenNode.put(original, newValue); return newValue; } @@ -170,7 +170,7 @@ if (value != null) { return value; } - EndNode newValue = graph.add(EndNode.create()); + EndNode newValue = graph.add(new EndNode()); seenNode.put(original, newValue); return newValue; } @@ -187,11 +187,11 @@ private static PhiNode patchPhi(StructuredGraph graph, PhiNode phi, MergeNode merge) { PhiNode ret; if (phi instanceof ValuePhiNode) { - ret = ValuePhiNode.create(phi.stamp(), merge); + ret = new ValuePhiNode(phi.stamp(), merge); } else if (phi instanceof GuardPhiNode) { - ret = GuardPhiNode.create(merge); + ret = new GuardPhiNode(merge); } else if (phi instanceof MemoryPhiNode) { - ret = MemoryPhiNode.create(merge, ((MemoryPhiNode) phi).getLocationIdentity()); + ret = new MemoryPhiNode(merge, ((MemoryPhiNode) phi).getLocationIdentity()); } else { throw GraalInternalError.shouldNotReachHere(); } @@ -310,12 +310,12 @@ if (endsToMerge.size() == 1) { AbstractEndNode end = endsToMerge.get(0); assert end.usages().isEmpty(); - newExit = graph.add(BeginNode.create()); + newExit = graph.add(new BeginNode()); end.replaceAtPredecessor(newExit); end.safeDelete(); } else { assert endsToMerge.size() > 1; - MergeNode newExitMerge = graph.add(MergeNode.create()); + MergeNode newExitMerge = graph.add(new MergeNode()); newExit = newExitMerge; FrameState state = loopBegin.stateAfter(); FrameState duplicateState = null;
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentWhole.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentWhole.java Mon Jan 12 20:39:04 2015 +0100 @@ -79,7 +79,7 @@ public Node replacement(Node o) { if (o == entry) { if (endNode == null) { - endNode = graph.add(EndNode.create()); + endNode = graph.add(new EndNode()); } return endNode; }
--- a/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java Mon Jan 12 20:39:04 2015 +0100 @@ -194,10 +194,8 @@ for (ExecutableElement constructor : ElementFilter.constructorsIn(node.getEnclosedElements())) { if (constructor.getModifiers().contains(PRIVATE)) { continue; - } else if (constructor.getModifiers().contains(PUBLIC)) { - throw new ElementException(constructor, "Node class constructor must not be public"); - } else if (!constructor.getModifiers().contains(PROTECTED)) { - throw new ElementException(constructor, "Node class constructor must be protected"); + } else if (!constructor.getModifiers().contains(PUBLIC) && !constructor.getModifiers().contains(PROTECTED)) { + throw new ElementException(constructor, "Node class constructor must be public or protected"); } foundValidConstructor = true;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -87,15 +87,15 @@ public DeoptimizeNode lowerToIf() { FixedNode currentNext = next(); setNext(null); - DeoptimizeNode deopt = graph().add(DeoptimizeNode.create(action, reason)); + DeoptimizeNode deopt = graph().add(new DeoptimizeNode(action, reason)); deopt.setStateBefore(stateBefore()); IfNode ifNode; BeginNode noDeoptSuccessor; if (negated) { - ifNode = graph().add(IfNode.create(condition, deopt, currentNext, 0)); + ifNode = graph().add(new IfNode(condition, deopt, currentNext, 0)); noDeoptSuccessor = ifNode.falseSuccessor(); } else { - ifNode = graph().add(IfNode.create(condition, currentNext, deopt, 1)); + ifNode = graph().add(new IfNode(condition, currentNext, deopt, 1)); noDeoptSuccessor = ifNode.trueSuccessor(); } ((FixedWithNextNode) predecessor()).setNext(ifNode);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,19 +38,11 @@ @NodeInfo(allowedUsageTypes = {InputType.Guard, InputType.Anchor}) public class BeginNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, GuardingNode, AnchoringNode, IterableNodeType { - public static BeginNode create() { - return new BeginNode(); - } - - protected BeginNode() { + public BeginNode() { super(StampFactory.forVoid()); } - public static BeginNode create(Stamp stamp) { - return new BeginNode(stamp); - } - - protected BeginNode(Stamp stamp) { + public BeginNode(Stamp stamp) { super(stamp); } @@ -58,7 +50,7 @@ if (with instanceof BeginNode) { return (BeginNode) with; } - BeginNode begin = with.graph().add(BeginNode.create()); + BeginNode begin = with.graph().add(new BeginNode()); begin.setNext(with); return begin; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,11 +50,7 @@ @Input NodeInputList<ValueNode> arguments; - public static BreakpointNode create(ValueNode[] arguments) { - return new BreakpointNode(arguments); - } - - protected BreakpointNode(ValueNode... arguments) { + public BreakpointNode(ValueNode[] arguments) { super(StampFactory.forVoid()); this.arguments = new NodeInputList<>(this, arguments); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,19 +35,11 @@ @Input(InputType.Condition) LogicNode condition; protected boolean negated; - public static ConditionAnchorNode create(LogicNode condition) { - return new ConditionAnchorNode(condition); - } - - protected ConditionAnchorNode(LogicNode condition) { + public ConditionAnchorNode(LogicNode condition) { this(condition, false); } - public static ConditionAnchorNode create(LogicNode condition, boolean negated) { - return new ConditionAnchorNode(condition, negated); - } - - protected ConditionAnchorNode(LogicNode condition, boolean negated) { + public ConditionAnchorNode(LogicNode condition, boolean negated) { super(StampFactory.forVoid()); this.negated = negated; this.condition = condition; @@ -73,14 +65,14 @@ public Node canonical(CanonicalizerTool tool, Node forValue) { if (condition instanceof LogicNegationNode) { LogicNegationNode negation = (LogicNegationNode) condition; - return ConditionAnchorNode.create(negation.getValue(), !negated); + return new ConditionAnchorNode(negation.getValue(), !negated); } if (condition instanceof LogicConstantNode) { LogicConstantNode c = (LogicConstantNode) condition; if (c.getValue() != negated) { return null; } else { - return ValueAnchorNode.create(null); + return new ValueAnchorNode(null); } } return this; @@ -89,7 +81,7 @@ @Override public void lower(LoweringTool tool) { if (graph().getGuardsStage() == StructuredGraph.GuardsStage.FIXED_DEOPTS) { - ValueAnchorNode newAnchor = graph().add(ValueAnchorNode.create(null)); + ValueAnchorNode newAnchor = graph().add(new ValueAnchorNode(null)); graph().replaceFixedWithFixed(this, newAnchor); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -47,7 +47,7 @@ private static ConstantNode createPrimitive(JavaConstant value) { assert value.getKind() != Kind.Object; - return ConstantNode.create(value, StampFactory.forConstant(value)); + return new ConstantNode(value, StampFactory.forConstant(value)); } /** @@ -55,11 +55,7 @@ * * @param value the constant */ - public static ConstantNode create(Constant value, Stamp stamp) { - return new ConstantNode(value, stamp); - } - - protected ConstantNode(Constant value, Stamp stamp) { + public ConstantNode(Constant value, Stamp stamp) { super(stamp); assert stamp != null && isCompatible(value, stamp); this.value = value; @@ -128,7 +124,7 @@ return forInt(constant.asInt(), graph); } if (constant.getKind() == Kind.Object) { - return unique(graph, ConstantNode.create(constant, StampFactory.forConstant(constant, metaAccess))); + return unique(graph, new ConstantNode(constant, StampFactory.forConstant(constant, metaAccess))); } else { return unique(graph, createPrimitive(constant)); } @@ -139,18 +135,18 @@ return forInt(constant.asInt()); } if (constant.getKind() == Kind.Object) { - return ConstantNode.create(constant, StampFactory.forConstant(constant, metaAccess)); + return new ConstantNode(constant, StampFactory.forConstant(constant, metaAccess)); } else { return createPrimitive(constant); } } public static ConstantNode forConstant(Stamp stamp, Constant constant, MetaAccessProvider metaAccess, StructuredGraph graph) { - return graph.unique(ConstantNode.create(constant, stamp.constant(constant, metaAccess))); + return graph.unique(new ConstantNode(constant, stamp.constant(constant, metaAccess))); } public static ConstantNode forConstant(Stamp stamp, Constant constant, MetaAccessProvider metaAccess) { - return ConstantNode.create(constant, stamp.constant(constant, metaAccess)); + return new ConstantNode(constant, stamp.constant(constant, metaAccess)); } /** @@ -198,7 +194,7 @@ return forConstant(primitive, null); } else { assert !(stamp instanceof AbstractObjectStamp); - return ConstantNode.create(constant, stamp.constant(constant, null)); + return new ConstantNode(constant, stamp.constant(constant, null)); } } @@ -339,7 +335,7 @@ private static ConstantNode forIntegerBits(int bits, JavaConstant constant, StructuredGraph graph) { long value = constant.asLong(); long bounds = CodeUtil.signExtend(value, bits); - return unique(graph, ConstantNode.create(constant, StampFactory.forInteger(bits, bounds, bounds))); + return unique(graph, new ConstantNode(constant, StampFactory.forInteger(bits, bounds, bounds))); } /** @@ -353,7 +349,7 @@ private static ConstantNode forIntegerBits(int bits, JavaConstant constant) { long value = constant.asLong(); long bounds = CodeUtil.signExtend(value, bits); - return ConstantNode.create(constant, StampFactory.forInteger(bits, bounds, bounds)); + return new ConstantNode(constant, StampFactory.forInteger(bits, bounds, bounds)); } /**
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,19 +34,11 @@ protected final int debugId; protected final JavaConstant speculation; - public static DeoptimizeNode create(DeoptimizationAction action, DeoptimizationReason reason) { - return new DeoptimizeNode(action, reason); - } - - protected DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason) { + public DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason) { this(action, reason, 0, JavaConstant.NULL_POINTER, null); } - public static DeoptimizeNode create(DeoptimizationAction action, DeoptimizationReason reason, int debugId, JavaConstant speculation, FrameState stateBefore) { - return new DeoptimizeNode(action, reason, debugId, speculation, stateBefore); - } - - protected DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason, int debugId, JavaConstant speculation, FrameState stateBefore) { + public DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason, int debugId, JavaConstant speculation, FrameState stateBefore) { super(stateBefore); assert action != null; assert reason != null;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo public class DirectCallTargetNode extends LoweredCallTargetNode { - public static DirectCallTargetNode create(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { - return new DirectCallTargetNode(arguments, returnStamp, signature, target, callType, invokeKind); - } - - protected DirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { + public DirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { super(arguments, returnStamp, signature, target, callType, invokeKind); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,18 +31,11 @@ @NodeInfo public class DispatchBeginNode extends BeginStateSplitNode { - public static DispatchBeginNode create() { - return new DispatchBeginNode(); - } - - protected DispatchBeginNode() { + public DispatchBeginNode() { } - public static DispatchBeginNode create(Stamp stamp) { - return new DispatchBeginNode(stamp); + public DispatchBeginNode(Stamp stamp) { + super(stamp); } - protected DispatchBeginNode(Stamp stamp) { - super(stamp); - } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @Input ValueNode actionAndReason; @Input ValueNode speculation; - public static DynamicDeoptimizeNode create(ValueNode actionAndReason, ValueNode speculation) { - return new DynamicDeoptimizeNode(actionAndReason, speculation); - } - - protected DynamicDeoptimizeNode(ValueNode actionAndReason, ValueNode speculation) { + public DynamicDeoptimizeNode(ValueNode actionAndReason, ValueNode speculation) { this.actionAndReason = actionAndReason; this.speculation = speculation; } @@ -74,8 +70,8 @@ if (actionAndReason.isConstant() && speculation.isConstant()) { JavaConstant constant = actionAndReason.asJavaConstant(); JavaConstant speculationConstant = speculation.asJavaConstant(); - DeoptimizeNode newDeopt = DeoptimizeNode.create(tool.getMetaAccess().decodeDeoptAction(constant), tool.getMetaAccess().decodeDeoptReason(constant), - tool.getMetaAccess().decodeDebugId(constant), speculationConstant, stateBefore()); + DeoptimizeNode newDeopt = new DeoptimizeNode(tool.getMetaAccess().decodeDeoptAction(constant), tool.getMetaAccess().decodeDeoptReason(constant), tool.getMetaAccess().decodeDebugId( + constant), speculationConstant, stateBefore()); return newDeopt; } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -26,10 +26,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Association}) public class EndNode extends AbstractEndNode { - public static EndNode create() { - return new EndNode(); + public EndNode() { } - protected EndNode() { - } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Association}) public class EntryMarkerNode extends BeginStateSplitNode implements IterableNodeType, Simplifiable, LIRLowerable { - public static EntryMarkerNode create() { - return new EntryMarkerNode(); - } - - protected EntryMarkerNode() { + public EntryMarkerNode() { } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,19 +32,11 @@ @NodeInfo(nameTemplate = "FixedGuard(!={p#negated}) {p#reason/s}", allowedUsageTypes = {InputType.Guard}) public class FixedGuardNode extends AbstractFixedGuardNode implements Lowerable, IterableNodeType { - public static FixedGuardNode create(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) { - return new FixedGuardNode(condition, deoptReason, action); - } - - protected FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) { + public FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) { this(condition, deoptReason, action, false); } - public static FixedGuardNode create(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) { - return new FixedGuardNode(condition, deoptReason, action, negated); - } - - protected FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) { + public FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) { super(condition, deoptReason, action, negated); } @@ -60,7 +52,7 @@ tool.deleteBranch(currentNext); } - DeoptimizeNode deopt = graph().add(DeoptimizeNode.create(getAction(), getReason())); + DeoptimizeNode deopt = graph().add(new DeoptimizeNode(getAction(), getReason())); deopt.setStateBefore(stateBefore()); setNext(deopt); } @@ -69,8 +61,8 @@ } else if (condition() instanceof ShortCircuitOrNode) { ShortCircuitOrNode shortCircuitOr = (ShortCircuitOrNode) condition(); if (isNegated() && usages().isEmpty()) { - graph().addAfterFixed(this, graph().add(FixedGuardNode.create(shortCircuitOr.getY(), getReason(), getAction(), !shortCircuitOr.isYNegated()))); - graph().replaceFixedWithFixed(this, graph().add(FixedGuardNode.create(shortCircuitOr.getX(), getReason(), getAction(), !shortCircuitOr.isXNegated()))); + graph().addAfterFixed(this, graph().add(new FixedGuardNode(shortCircuitOr.getY(), getReason(), getAction(), !shortCircuitOr.isYNegated()))); + graph().replaceFixedWithFixed(this, graph().add(new FixedGuardNode(shortCircuitOr.getX(), getReason(), getAction(), !shortCircuitOr.isXNegated()))); } } } @@ -80,7 +72,7 @@ if (graph().getGuardsStage() == StructuredGraph.GuardsStage.FLOATING_GUARDS) { ValueNode guard = tool.createGuard(this, condition(), getReason(), getAction(), isNegated()).asNode(); this.replaceAtUsages(guard); - ValueAnchorNode newAnchor = graph().add(ValueAnchorNode.create(guard.asNode())); + ValueAnchorNode newAnchor = graph().add(new ValueAnchorNode(guard.asNode())); graph().replaceFixedWithFixed(this, newAnchor); } else { lowerToIf().lower(tool);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Mon Jan 12 20:39:04 2015 +0100 @@ -74,26 +74,7 @@ protected final ResolvedJavaMethod method; - /** - * Creates a {@code FrameState} with the given locals, stack expressions and locked monitors. - * - * @param method the method for this frame state - * @param bci the bytecode index of the frame state - * @param values the locals, stack expressions and locked objects, in this order - * @param localsSize the number of locals in the values list - * @param stackSize the number of stack expressions in the values list - * @param rethrowException if true, this FrameState will throw an exception (taken from the top - * of the expression stack) during deoptimization - * @param duringCall true if this FrameState describes the state during a call - * @param monitorIds one MonitorIdNode for each locked object - * @param virtualObjectMappings a description of the current state for every virtual object - */ - public static FrameState create(FrameState outerFrameState, ResolvedJavaMethod method, int bci, List<ValueNode> values, int localsSize, int stackSize, boolean rethrowException, - boolean duringCall, List<MonitorIdNode> monitorIds, List<EscapeObjectState> virtualObjectMappings) { - return new FrameState(outerFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings); - } - - protected FrameState(FrameState outerFrameState, ResolvedJavaMethod method, int bci, List<ValueNode> values, int localsSize, int stackSize, boolean rethrowException, boolean duringCall, + public FrameState(FrameState outerFrameState, ResolvedJavaMethod method, int bci, List<ValueNode> values, int localsSize, int stackSize, boolean rethrowException, boolean duringCall, List<MonitorIdNode> monitorIds, List<EscapeObjectState> virtualObjectMappings) { assert stackSize >= 0; this.outerFrameState = outerFrameState; @@ -111,27 +92,13 @@ METRIC_FRAMESTATE_COUNT.increment(); } - /** - * Simple constructor used to create marker FrameStates. - * - * @param bci marker bci, needs to be < 0 - */ - public static FrameState create(int bci) { - return new FrameState(bci); - } - - protected FrameState(int bci) { + public FrameState(int bci) { this(null, null, bci, Collections.<ValueNode> emptyList(), 0, 0, false, false, Collections.<MonitorIdNode> emptyList(), Collections.<EscapeObjectState> emptyList()); assert bci == BytecodeFrame.BEFORE_BCI || bci == BytecodeFrame.AFTER_BCI || bci == BytecodeFrame.AFTER_EXCEPTION_BCI || bci == BytecodeFrame.UNKNOWN_BCI || bci == BytecodeFrame.INVALID_FRAMESTATE_BCI; } - public static FrameState create(ResolvedJavaMethod method, int bci, ValueNode[] locals, List<ValueNode> stack, ValueNode[] locks, MonitorIdNode[] monitorIds, boolean rethrowException, - boolean duringCall) { - return new FrameState(method, bci, locals, stack, locks, monitorIds, rethrowException, duringCall); - } - - protected FrameState(ResolvedJavaMethod method, int bci, ValueNode[] locals, List<ValueNode> stack, ValueNode[] locks, MonitorIdNode[] monitorIds, boolean rethrowException, boolean duringCall) { + public FrameState(ResolvedJavaMethod method, int bci, ValueNode[] locals, List<ValueNode> stack, ValueNode[] locks, MonitorIdNode[] monitorIds, boolean rethrowException, boolean duringCall) { this(null, method, bci, createValues(locals, stack, locks), locals.length, stack.size(), rethrowException, duringCall, Arrays.asList(monitorIds), Collections.<EscapeObjectState> emptyList()); } @@ -204,7 +171,7 @@ * Gets a copy of this frame state. */ public FrameState duplicate(int newBci) { - return graph().add(FrameState.create(outerFrameState(), method, newBci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings)); + return graph().add(new FrameState(outerFrameState(), method, newBci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings)); } /** @@ -228,7 +195,7 @@ for (EscapeObjectState state : virtualObjectMappings) { newVirtualMappings.add(state.duplicateWithVirtualState()); } - return graph().add(FrameState.create(newOuterFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, newVirtualMappings)); + return graph().add(new FrameState(newOuterFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, newVirtualMappings)); } /** @@ -279,7 +246,7 @@ copy.addAll(values.subList(localsSize + stackSize, values.size())); assert checkStackDepth(bci, stackSize, duringCall, newBci, newStackSize, newDuringCall); - return graph().add(FrameState.create(outerFrameState(), method, newBci, copy, localsSize, newStackSize, newRethrowException, newDuringCall, monitorIds, virtualObjectMappings)); + return graph().add(new FrameState(outerFrameState(), method, newBci, copy, localsSize, newStackSize, newRethrowException, newDuringCall, monitorIds, virtualObjectMappings)); } /**
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ public class FullInfopointNode extends InfopointNode implements LIRLowerable, NodeWithState { @Input(InputType.State) FrameState state; - public static FullInfopointNode create(InfopointReason reason, FrameState state) { - return new FullInfopointNode(reason, state); - } - - protected FullInfopointNode(InfopointReason reason, FrameState state) { + public FullInfopointNode(InfopointReason reason, FrameState state) { super(reason); this.state = state; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,11 +50,7 @@ protected DeoptimizationAction action; protected boolean negated; - public static GuardNode create(LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, JavaConstant speculation) { - return new GuardNode(condition, anchor, reason, action, negated, speculation); - } - - protected GuardNode(LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, JavaConstant speculation) { + public GuardNode(LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, JavaConstant speculation) { super(StampFactory.forVoid(), anchor); this.condition = condition; this.reason = reason; @@ -103,7 +99,7 @@ public Node canonical(CanonicalizerTool tool) { if (condition() instanceof LogicNegationNode) { LogicNegationNode negation = (LogicNegationNode) condition(); - return GuardNode.create(negation.getValue(), getAnchor(), reason, action, !negated, speculation); + return new GuardNode(negation.getValue(), getAnchor(), reason, action, !negated, speculation); } if (condition() instanceof LogicConstantNode) { LogicConstantNode c = (LogicConstantNode) condition();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,20 +35,12 @@ @OptionalInput(InputType.Guard) NodeInputList<ValueNode> values; - public static GuardPhiNode create(MergeNode merge) { - return new GuardPhiNode(merge); - } - - protected GuardPhiNode(MergeNode merge) { + public GuardPhiNode(MergeNode merge) { super(StampFactory.forVoid(), merge); this.values = new NodeInputList<>(this); } - public static GuardPhiNode create(MergeNode merge, ValueNode[] values) { - return new GuardPhiNode(merge, values); - } - - protected GuardPhiNode(MergeNode merge, ValueNode[] values) { + public GuardPhiNode(MergeNode merge, ValueNode[] values) { super(StampFactory.forVoid(), merge); this.values = new NodeInputList<>(this, values); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @Input(InputType.Guard) GuardingNode value; - public static GuardProxyNode create(GuardingNode value, BeginNode proxyPoint) { - return new GuardProxyNode(value, proxyPoint); - } - - protected GuardProxyNode(GuardingNode value, BeginNode proxyPoint) { + public GuardProxyNode(GuardingNode value, BeginNode proxyPoint) { super(StampFactory.forVoid(), proxyPoint); this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,21 +42,13 @@ @Input ValueNode object; protected final Stamp piStamp; - public static GuardedValueNode create(ValueNode object, GuardingNode guard, Stamp stamp) { - return new GuardedValueNode(object, guard, stamp); - } - - protected GuardedValueNode(ValueNode object, GuardingNode guard, Stamp stamp) { + public GuardedValueNode(ValueNode object, GuardingNode guard, Stamp stamp) { super(stamp, guard); this.object = object; this.piStamp = stamp; } - public static GuardedValueNode create(ValueNode object, GuardingNode guard) { - return new GuardedValueNode(object, guard); - } - - protected GuardedValueNode(ValueNode object, GuardingNode guard) { + public GuardedValueNode(ValueNode object, GuardingNode guard) { this(object, guard, object.stamp()); } @@ -93,7 +85,7 @@ if (stamp().equals(object().stamp())) { return object(); } else { - return PiNode.create(object(), stamp()); + return new PiNode(object(), stamp()); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -65,30 +65,11 @@ return action; } - /** - * Constructor for {@link #guardingNonNull(Object)} node intrinsic. - */ - public static GuardingPiNode create(ValueNode object) { - return new GuardingPiNode(object); - } - - protected GuardingPiNode(ValueNode object) { - this(object, object.graph().unique(IsNullNode.create(object)), true, DeoptimizationReason.NullCheckException, DeoptimizationAction.None, object.stamp().join(StampFactory.objectNonNull())); + public GuardingPiNode(ValueNode object) { + this(object, object.graph().unique(new IsNullNode(object)), true, DeoptimizationReason.NullCheckException, DeoptimizationAction.None, object.stamp().join(StampFactory.objectNonNull())); } - /** - * Creates a guarding pi node. - * - * @param object the object whose type is refined if this guard succeeds - * @param condition the condition to test - * @param negateCondition the guard succeeds if {@code condition != negateCondition} - * @param stamp the refined type of the object if the guard succeeds - */ - public static GuardingPiNode create(ValueNode object, ValueNode condition, boolean negateCondition, DeoptimizationReason reason, DeoptimizationAction action, Stamp stamp) { - return new GuardingPiNode(object, condition, negateCondition, reason, action, stamp); - } - - protected GuardingPiNode(ValueNode object, ValueNode condition, boolean negateCondition, DeoptimizationReason reason, DeoptimizationAction action, Stamp stamp) { + public GuardingPiNode(ValueNode object, ValueNode condition, boolean negateCondition, DeoptimizationReason reason, DeoptimizationAction action, Stamp stamp) { super(stamp); assert stamp != null; this.piStamp = stamp; @@ -102,9 +83,9 @@ @Override public void lower(LoweringTool tool) { GuardingNode guard = tool.createGuard(next(), condition, reason, action, negated); - ValueAnchorNode anchor = graph().add(ValueAnchorNode.create((ValueNode) guard)); + ValueAnchorNode anchor = graph().add(new ValueAnchorNode((ValueNode) guard)); if (usages().isNotEmpty()) { - PiNode pi = graph().unique(PiNode.create(object, stamp(), (ValueNode) guard)); + PiNode pi = graph().unique(new PiNode(object, stamp(), (ValueNode) guard)); replaceAtUsages(pi); } graph().replaceFixedWithFixed(this, anchor); @@ -127,19 +108,19 @@ public Node canonical(CanonicalizerTool tool) { if (stamp() == StampFactory.illegal(object.getKind())) { // The guard always fails - return DeoptimizeNode.create(action, reason); + return new DeoptimizeNode(action, reason); } if (condition instanceof LogicConstantNode) { LogicConstantNode c = (LogicConstantNode) condition; if (c.getValue() == negated) { // The guard always fails - return DeoptimizeNode.create(action, reason); + return new DeoptimizeNode(action, reason); } else if (stamp().equals(object().stamp())) { // The guard always succeeds, and does not provide new type information return object; } else { // The guard always succeeds, and provides new type information - return PiNode.create(object, stamp()); + return new PiNode(object, stamp()); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -65,25 +65,16 @@ condition = x; } - public static IfNode create(LogicNode condition, FixedNode trueSuccessor, FixedNode falseSuccessor, double trueSuccessorProbability) { - return new IfNode(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability); - } - - protected IfNode(LogicNode condition, FixedNode trueSuccessor, FixedNode falseSuccessor, double trueSuccessorProbability) { + public IfNode(LogicNode condition, FixedNode trueSuccessor, FixedNode falseSuccessor, double trueSuccessorProbability) { this(condition, BeginNode.begin(trueSuccessor), BeginNode.begin(falseSuccessor), trueSuccessorProbability); } - public static IfNode create(LogicNode condition, BeginNode trueSuccessor, BeginNode falseSuccessor, double trueSuccessorProbability) { - return new IfNode(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability); - } - - protected IfNode(LogicNode condition, BeginNode trueSuccessor, BeginNode falseSuccessor, double trueSuccessorProbability) { + public IfNode(LogicNode condition, BeginNode trueSuccessor, BeginNode falseSuccessor, double trueSuccessorProbability) { super(StampFactory.forVoid()); this.condition = condition; this.falseSuccessor = falseSuccessor; this.trueSuccessor = trueSuccessor; setTrueSuccessorProbability(trueSuccessorProbability); - } /** @@ -167,7 +158,7 @@ setTrueSuccessor(null); setFalseSuccessor(null); LogicNegationNode negation = (LogicNegationNode) condition(); - IfNode newIfNode = graph().add(IfNode.create(negation.getValue(), falseSucc, trueSucc, 1 - trueSuccessorProbability)); + IfNode newIfNode = graph().add(new IfNode(negation.getValue(), falseSucc, trueSucc, 1 - trueSuccessorProbability)); predecessor().replaceFirstSuccessor(this, newIfNode); GraphUtil.killWithUnusedFloatingInputs(this); return; @@ -293,7 +284,7 @@ */ if (lessThan2.getX() == lessThan.getX() && lessThan2.getY().stamp() instanceof IntegerStamp && ((IntegerStamp) lessThan2.getY().stamp()).isPositive() && sameDestination(trueSuccessor(), ifNode2.falseSuccessor)) { - below = graph().unique(IntegerBelowNode.create(lessThan2.getX(), lessThan2.getY())); + below = graph().unique(new IntegerBelowNode(lessThan2.getX(), lessThan2.getY())); // swap direction BeginNode tmp = falseSucc; falseSucc = trueSucc; @@ -308,14 +299,14 @@ JavaConstant positive = lessThan2.getX().asJavaConstant(); if (positive != null && positive.asLong() > 0 && positive.asLong() < positive.getKind().getMaxValue()) { ConstantNode newLimit = ConstantNode.forIntegerKind(positive.getKind(), positive.asLong() + 1, graph()); - below = graph().unique(IntegerBelowNode.create(lessThan.getX(), newLimit)); + below = graph().unique(new IntegerBelowNode(lessThan.getX(), newLimit)); } } if (below != null) { ifNode2.setTrueSuccessor(null); ifNode2.setFalseSuccessor(null); - IfNode newIfNode = graph().add(IfNode.create(below, falseSucc, trueSucc, 1 - trueSuccessorProbability)); + IfNode newIfNode = graph().add(new IfNode(below, falseSucc, trueSucc, 1 - trueSuccessorProbability)); // Remove the < 0 test. tool.deleteBranch(trueSuccessor); graph().removeSplit(this, falseSuccessor); @@ -552,7 +543,7 @@ } } } - ReturnNode newReturn = graph().add(ReturnNode.create(value)); + ReturnNode newReturn = graph().add(new ReturnNode(value)); replaceAtPredecessor(newReturn); GraphUtil.killCFG(this); return true; @@ -574,7 +565,7 @@ return null; } if (trueValue.isConstant() && falseValue.isConstant()) { - return graph().unique(ConditionalNode.create(condition(), trueValue, falseValue)); + return graph().unique(new ConditionalNode(condition(), trueValue, falseValue)); } else { ConditionalNode conditional = null; ValueNode constant = null; @@ -604,7 +595,7 @@ if (otherValue.isConstant()) { double shortCutProbability = probability(trueSuccessor()); LogicNode newCondition = LogicNode.or(condition(), negateCondition, conditional.condition(), negateConditionalCondition, shortCutProbability); - return graph().unique(ConditionalNode.create(newCondition, constant, otherValue)); + return graph().unique(new ConditionalNode(newCondition, constant, otherValue)); } } return null; @@ -859,9 +850,9 @@ } else { // Need a new phi in case the frame state is used by more than the merge being // removed - MergeNode newMerge = graph().add(MergeNode.create()); + MergeNode newMerge = graph().add(new MergeNode()); PhiNode oldPhi = (PhiNode) oldMerge.usages().first(); - PhiNode newPhi = graph().addWithoutUnique(ValuePhiNode.create(oldPhi.stamp(), newMerge)); + PhiNode newPhi = graph().addWithoutUnique(new ValuePhiNode(oldPhi.stamp(), newMerge)); for (AbstractEndNode end : ends) { newPhi.addInput(phiValues.get(end));
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,12 +34,7 @@ @Input protected ValueNode computedAddress; - public static IndirectCallTargetNode create(ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, - CallingConvention.Type callType, InvokeKind invokeKind) { - return new IndirectCallTargetNode(computedAddress, arguments, returnStamp, signature, target, callType, invokeKind); - } - - protected IndirectCallTargetNode(ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, + public IndirectCallTargetNode(ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) { super(arguments, returnStamp, signature, target, callType, invokeKind); this.computedAddress = computedAddress;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,32 +46,11 @@ protected boolean polymorphic; protected boolean useForInlining; - /** - * Constructs a new Invoke instruction. - * - * @param callTarget the target method being called - * @param bci the bytecode index of the original invoke (used for debug infos) - */ - public static InvokeNode create(CallTargetNode callTarget, int bci) { - return new InvokeNode(callTarget, bci); - } - - protected InvokeNode(CallTargetNode callTarget, int bci) { + public InvokeNode(CallTargetNode callTarget, int bci) { this(callTarget, bci, callTarget.returnStamp()); } - /** - * Constructs a new Invoke instruction. - * - * @param callTarget the target method being called - * @param bci the bytecode index of the original invoke (used for debug infos) - * @param stamp the stamp to be used for this value - */ - public static InvokeNode create(CallTargetNode callTarget, int bci, Stamp stamp) { - return new InvokeNode(callTarget, bci, stamp); - } - - protected InvokeNode(CallTargetNode callTarget, int bci, Stamp stamp) { + public InvokeNode(CallTargetNode callTarget, int bci, Stamp stamp) { super(stamp); this.callTarget = callTarget; this.bci = bci;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,11 +48,7 @@ protected boolean useForInlining; protected double exceptionProbability; - public static InvokeWithExceptionNode create(CallTargetNode callTarget, BeginNode exceptionEdge, int bci) { - return new InvokeWithExceptionNode(callTarget, exceptionEdge, bci); - } - - protected InvokeWithExceptionNode(CallTargetNode callTarget, BeginNode exceptionEdge, int bci) { + public InvokeWithExceptionNode(CallTargetNode callTarget, BeginNode exceptionEdge, int bci) { super(callTarget.returnStamp()); this.exceptionEdge = exceptionEdge; this.bci = bci;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ protected LocationIdentity locationIdentity; - public static KillingBeginNode create(LocationIdentity locationIdentity) { - return new KillingBeginNode(locationIdentity); - } - - protected KillingBeginNode(LocationIdentity locationIdentity) { + public KillingBeginNode(LocationIdentity locationIdentity) { this.locationIdentity = locationIdentity; } @@ -43,7 +39,7 @@ if (with instanceof KillingBeginNode) { return (KillingBeginNode) with; } - KillingBeginNode begin = with.graph().add(KillingBeginNode.create(locationIdentity)); + KillingBeginNode begin = with.graph().add(new KillingBeginNode(locationIdentity)); begin.setNext(with); return begin; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ protected final boolean value; - public static LogicConstantNode create(boolean value) { - return new LogicConstantNode(value); - } - - protected LogicConstantNode(boolean value) { + public LogicConstantNode(boolean value) { super(); this.value = value; } @@ -51,7 +47,7 @@ * @return a node representing the boolean */ public static LogicConstantNode forBoolean(boolean v, Graph graph) { - return graph.unique(LogicConstantNode.create(v)); + return graph.unique(new LogicConstantNode(v)); } /** @@ -61,7 +57,7 @@ * @return a node representing the boolean */ public static LogicConstantNode forBoolean(boolean v) { - return LogicConstantNode.create(v); + return new LogicConstantNode(v); } /**
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @Input(InputType.Condition) LogicNode value; - public static LogicNegationNode create(LogicNode value) { - return new LogicNegationNode(value); - } - - protected LogicNegationNode(LogicNode value) { + public LogicNegationNode(LogicNode value) { this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,8 +41,8 @@ public static LogicNode and(LogicNode a, boolean negateA, LogicNode b, boolean negateB, double shortCircuitProbability) { StructuredGraph graph = a.graph(); - ShortCircuitOrNode notAorNotB = graph.unique(ShortCircuitOrNode.create(a, !negateA, b, !negateB, shortCircuitProbability)); - return graph.unique(LogicNegationNode.create(notAorNotB)); + ShortCircuitOrNode notAorNotB = graph.unique(new ShortCircuitOrNode(a, !negateA, b, !negateB, shortCircuitProbability)); + return graph.unique(new LogicNegationNode(notAorNotB)); } public static LogicNode or(LogicNode a, LogicNode b, double shortCircuitProbability) { @@ -50,6 +50,6 @@ } public static LogicNode or(LogicNode a, boolean negateA, LogicNode b, boolean negateB, double shortCircuitProbability) { - return a.graph().unique(ShortCircuitOrNode.create(a, negateA, b, negateB, shortCircuitProbability)); + return a.graph().unique(new ShortCircuitOrNode(a, negateA, b, negateB, shortCircuitProbability)); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected int unswitches; @OptionalInput(InputType.Guard) GuardingNode overflowGuard; - public static LoopBeginNode create() { - return new LoopBeginNode(); - } - - protected LoopBeginNode() { + public LoopBeginNode() { loopFrequency = 1; } @@ -195,7 +191,7 @@ for (LoopExitNode loopexit : loopExits().snapshot()) { loopexit.removeProxies(); FrameState loopStateAfter = loopexit.stateAfter(); - graph().replaceFixedWithFixed(loopexit, graph().add(BeginNode.create())); + graph().replaceFixedWithFixed(loopexit, graph().add(new BeginNode())); if (loopStateAfter != null && loopStateAfter.isAlive() && loopStateAfter.usages().isEmpty()) { GraphUtil.killWithUnusedFloatingInputs(loopStateAfter); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ protected boolean canSafepoint; protected int endIndex; - public static LoopEndNode create(LoopBeginNode begin) { - return new LoopEndNode(begin); - } - - protected LoopEndNode(LoopBeginNode begin) { + public LoopEndNode(LoopBeginNode begin) { int idx = begin.nextEndIndex(); assert idx >= 0; this.endIndex = idx;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @Input(InputType.Association) LoopBeginNode loopBegin; - public static LoopExitNode create(LoopBeginNode loop) { - return new LoopExitNode(loop); - } - - protected LoopExitNode(LoopBeginNode loop) { + public LoopExitNode(LoopBeginNode loop) { assert loop != null; loopBegin = loop; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,11 +50,7 @@ return true; } - public static MemoryMapNode create(Map<LocationIdentity, MemoryNode> mmap) { - return new MemoryMapNode(mmap); - } - - protected MemoryMapNode(Map<LocationIdentity, MemoryNode> mmap) { + public MemoryMapNode(Map<LocationIdentity, MemoryNode> mmap) { super(StampFactory.forVoid()); locationIdentities = new ArrayList<>(mmap.keySet()); nodes = new NodeInputList<>(this, mmap.values());
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,21 +37,13 @@ @Input(InputType.Memory) NodeInputList<ValueNode> values; protected final LocationIdentity locationIdentity; - public static MemoryPhiNode create(MergeNode merge, LocationIdentity locationIdentity) { - return new MemoryPhiNode(merge, locationIdentity); - } - - protected MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity) { + public MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity) { super(StampFactory.forVoid(), merge); this.locationIdentity = locationIdentity; this.values = new NodeInputList<>(this); } - public static MemoryPhiNode create(MergeNode merge, LocationIdentity locationIdentity, ValueNode[] values) { - return new MemoryPhiNode(merge, locationIdentity, values); - } - - protected MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity, ValueNode[] values) { + public MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity, ValueNode[] values) { super(StampFactory.forVoid(), merge); this.locationIdentity = locationIdentity; this.values = new NodeInputList<>(this, values);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ */ @NodeInfo(allowedUsageTypes = {InputType.Association}) public class MergeNode extends BeginStateSplitNode implements IterableNodeType, LIRLowerable { - public static MergeNode create() { - return new MergeNode(); - } - - protected MergeNode() { + public MergeNode() { } @Input(InputType.Association) protected NodeInputList<AbstractEndNode> ends = new NodeInputList<>(this); @@ -175,9 +171,9 @@ } AbstractEndNode newEnd; if (merge instanceof LoopBeginNode) { - newEnd = graph().add(LoopEndNode.create((LoopBeginNode) merge)); + newEnd = graph().add(new LoopEndNode((LoopBeginNode) merge)); } else { - newEnd = graph().add(EndNode.create()); + newEnd = graph().add(new EndNode()); merge.addForwardEnd(newEnd); } for (PhiNode phi : merge.phis()) { @@ -216,7 +212,7 @@ ValuePhiNode returnValuePhi = returnNode.result() == null || !isPhiAtMerge(returnNode.result()) ? null : (ValuePhiNode) returnNode.result(); List<AbstractEndNode> endNodes = forwardEnds().snapshot(); for (AbstractEndNode end : endNodes) { - ReturnNode newReturn = graph().add(ReturnNode.create(returnValuePhi == null ? returnNode.result() : returnValuePhi.valueAt(end))); + ReturnNode newReturn = graph().add(new ReturnNode(returnValuePhi == null ? returnNode.result() : returnValuePhi.valueAt(end))); if (tool != null) { tool.addToWorkList(end.predecessor()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo(nameTemplate = "Param({p#index})") public class ParameterNode extends AbstractLocalNode implements IterableNodeType, UncheckedInterfaceProvider { - public static ParameterNode create(int index, Stamp stamp) { - return new ParameterNode(index, stamp); - } - - protected ParameterNode(int index, Stamp stamp) { + public ParameterNode(int index, Stamp stamp) { super(index, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -143,17 +143,13 @@ @NodeInfo static class MultipleValuesNode extends ValueNode { - public static MultipleValuesNode create() { - return new MultipleValuesNode(); - } - - protected MultipleValuesNode() { + public MultipleValuesNode() { super(null); } } - public static final ValueNode MULTIPLE_VALUES = MultipleValuesNode.create(); + public static final ValueNode MULTIPLE_VALUES = new MultipleValuesNode(); /** * If all inputs are the same value, this value is returned, otherwise {@link #MULTIPLE_VALUES}.
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ return length; } - public static PiArrayNode create(ValueNode object, ValueNode length, Stamp stamp) { - return new PiArrayNode(object, length, stamp); - } - - protected PiArrayNode(ValueNode object, ValueNode length, Stamp stamp) { + public PiArrayNode(ValueNode object, ValueNode length, Stamp stamp) { super(object, stamp); this.length = length; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -51,31 +51,19 @@ return object; } - public static PiNode create(ValueNode object, Stamp stamp) { - return new PiNode(object, stamp); - } - - protected PiNode(ValueNode object, Stamp stamp) { + public PiNode(ValueNode object, Stamp stamp) { super(stamp); this.piStamp = stamp; this.object = object; } - public static PiNode create(ValueNode object, Stamp stamp, ValueNode anchor) { - return new PiNode(object, stamp, anchor); - } - - protected PiNode(ValueNode object, Stamp stamp, ValueNode anchor) { + public PiNode(ValueNode object, Stamp stamp, ValueNode anchor) { super(stamp, (GuardingNode) anchor); this.object = object; this.piStamp = stamp; } - public static PiNode create(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { - return new PiNode(object, toType, exactType, nonNull); - } - - protected PiNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { + public PiNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { this(object, StampFactory.object(toType, exactType, nonNull || StampTool.isPointerNonNull(object.stamp()), true)); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -59,10 +59,10 @@ } public static ValueProxyNode forValue(ValueNode value, BeginNode exit, StructuredGraph graph) { - return graph.unique(ValueProxyNode.create(value, exit)); + return graph.unique(new ValueProxyNode(value, exit)); } public static GuardProxyNode forGuard(GuardingNode value, BeginNode exit, StructuredGraph graph) { - return graph.unique(GuardProxyNode.create(value, exit)); + return graph.unique(new GuardProxyNode(value, exit)); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,25 +37,11 @@ return result; } - /** - * Constructs a new Return instruction. - * - * @param result the instruction producing the result for this return; {@code null} if this is a - * void return - */ - public static ReturnNode create(ValueNode result) { - return new ReturnNode(result); - } - - protected ReturnNode(ValueNode result) { + public ReturnNode(ValueNode result) { this(result, null); } - public static ReturnNode create(ValueNode result, MemoryMapNode memoryMap) { - return new ReturnNode(result, memoryMap); - } - - protected ReturnNode(ValueNode result, MemoryMapNode memoryMap) { + public ReturnNode(ValueNode result, MemoryMapNode memoryMap) { super(StampFactory.forVoid()); this.result = result; this.memoryMap = memoryMap;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo public class SafepointNode extends DeoptimizingFixedWithNextNode implements LIRLowerable { - public static SafepointNode create() { - return new SafepointNode(); - } - - protected SafepointNode() { + public SafepointNode() { super(StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ protected boolean yNegated; protected double shortCircuitProbability; - public static ShortCircuitOrNode create(LogicNode x, boolean xNegated, LogicNode y, boolean yNegated, double shortCircuitProbability) { - return new ShortCircuitOrNode(x, xNegated, y, yNegated, shortCircuitProbability); - } - - protected ShortCircuitOrNode(LogicNode x, boolean xNegated, LogicNode y, boolean yNegated, double shortCircuitProbability) { + public ShortCircuitOrNode(LogicNode x, boolean xNegated, LogicNode y, boolean yNegated, double shortCircuitProbability) { this.x = x; this.xNegated = xNegated; this.y = y; @@ -87,7 +83,7 @@ } if (xCond != forX || yCond != forY) { - return ShortCircuitOrNode.create(xCond, xNeg, yCond, yNeg, shortCircuitProbability); + return new ShortCircuitOrNode(xCond, xNeg, yCond, yNeg, shortCircuitProbability); } else { return this; } @@ -109,7 +105,7 @@ if (isXNegated()) { if (isYNegated()) { // !a || !a = !a - return LogicNegationNode.create(forX); + return new LogicNegationNode(forX); } else { // !a || a = true return LogicConstantNode.tautology(); @@ -129,7 +125,7 @@ return LogicConstantNode.tautology(); } else { if (isYNegated()) { - return LogicNegationNode.create(forY); + return new LogicNegationNode(forY); } else { return forY; } @@ -140,7 +136,7 @@ return LogicConstantNode.tautology(); } else { if (isXNegated()) { - return LogicNegationNode.create(forX); + return new LogicNegationNode(forX); } else { return forX; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ public class SimpleInfopointNode extends InfopointNode implements LIRLowerable, IterableNodeType, Simplifiable { protected BytecodePosition position; - public static SimpleInfopointNode create(InfopointReason reason, BytecodePosition position) { - return new SimpleInfopointNode(reason, position); - } - - protected SimpleInfopointNode(InfopointReason reason, BytecodePosition position) { + public SimpleInfopointNode(InfopointReason reason, BytecodePosition position) { super(reason); this.position = position; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ */ @NodeInfo(allowedUsageTypes = {InputType.Memory}) public class StartNode extends BeginStateSplitNode implements MemoryCheckpoint.Single { - public static StartNode create() { - return new StartNode(); - } - - protected StartNode() { + public StartNode() { } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java Mon Jan 12 20:39:04 2015 +0100 @@ -105,7 +105,7 @@ private StructuredGraph(String name, ResolvedJavaMethod method, long graphId, int entryBCI) { super(name); - this.setStart(add(StartNode.create())); + this.setStart(add(new StartNode())); this.method = method; this.graphId = graphId; this.entryBCI = entryBCI; @@ -392,7 +392,7 @@ if (begin.forwardEndCount() == 1) { // bypass merge and remove reduceTrivialMerge(begin); } else { // convert to merge - MergeNode merge = this.add(MergeNode.create()); + MergeNode merge = this.add(new MergeNode()); this.replaceFixedWithFixed(begin, merge); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -55,11 +55,7 @@ // Only null profiling is not beneficial enough to keep the node around. return object; } - return object.graph().addWithoutUnique(create(object, profile)); - } - - public static ValueNode create(ValueNode object, JavaTypeProfile profile) { - return new TypeProfileProxyNode(object, profile); + return object.graph().addWithoutUnique(new TypeProfileProxyNode(object, profile)); } protected TypeProfileProxyNode(ValueNode value, JavaTypeProfile profile) { @@ -97,7 +93,7 @@ } if (newProfile != this.profile) { Debug.log("Improved profile via other profile."); - return TypeProfileProxyNode.create(forValue, newProfile); + return new TypeProfileProxyNode(forValue, newProfile); } } else if (StampTool.typeOrNull(forValue) != null) { ResolvedJavaType type = StampTool.typeOrNull(forValue); @@ -119,7 +115,7 @@ // Only null profiling is not beneficial enough to keep the node around. return forValue; } - return TypeProfileProxyNode.create(forValue, newProfile); + return new TypeProfileProxyNode(forValue, newProfile); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ return exception; } - public static UnwindNode create(ValueNode exception) { - return new UnwindNode(exception); - } - - protected UnwindNode(ValueNode exception) { + public UnwindNode(ValueNode exception) { super(StampFactory.forVoid()); assert exception == null || exception.getKind() == Kind.Object; this.exception = exception;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,34 +35,13 @@ @Input protected NodeInputList<ValueNode> values; - /** - * Create a value phi with the specified stamp. - * - * @param stamp the stamp of the value - * @param merge the merge that the new phi belongs to - */ - public static ValuePhiNode create(Stamp stamp, MergeNode merge) { - return new ValuePhiNode(stamp, merge); - } - - protected ValuePhiNode(Stamp stamp, MergeNode merge) { + public ValuePhiNode(Stamp stamp, MergeNode merge) { super(stamp, merge); assert stamp != StampFactory.forVoid(); values = new NodeInputList<>(this); } - /** - * Create a value phi with the specified stamp and the given values. - * - * @param stamp the stamp of the value - * @param merge the merge that the new phi belongs to - * @param values the initial values of the phi - */ - public static ValuePhiNode create(Stamp stamp, MergeNode merge, ValueNode[] values) { - return new ValuePhiNode(stamp, merge, values); - } - - protected ValuePhiNode(Stamp stamp, MergeNode merge, ValueNode[] values) { + public ValuePhiNode(Stamp stamp, MergeNode merge, ValueNode[] values) { super(stamp, merge); assert stamp != StampFactory.forVoid(); this.values = new NodeInputList<>(this, values);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @Input ValueNode value; - public static ValueProxyNode create(ValueNode value, BeginNode proxyPoint) { - return new ValueProxyNode(value, proxyPoint); - } - - protected ValueProxyNode(ValueNode value, BeginNode proxyPoint) { + public ValueProxyNode(ValueNode value, BeginNode proxyPoint) { super(value.stamp(), proxyPoint); this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AbsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AbsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo public class AbsNode extends UnaryArithmeticNode<Abs> implements ArithmeticLIRLowerable, NarrowableArithmeticNode { - public static AbsNode create(ValueNode x) { - return new AbsNode(x); - } - - protected AbsNode(ValueNode x) { + public AbsNode(ValueNode x) { super(ArithmeticOpTable::getAbs, x); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo(shortName = "+") public class AddNode extends BinaryArithmeticNode<Add> implements NarrowableArithmeticNode { - public static AddNode create(ValueNode x, ValueNode y) { - return new AddNode(x, y); - } - - protected AddNode(ValueNode x, ValueNode y) { + public AddNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getAdd, x, y); } @@ -51,7 +47,7 @@ } if (forX.isConstant() && !forY.isConstant()) { - return AddNode.create(forY, forX); + return new AddNode(forY, forX); } BinaryOp<Add> op = getOp(forX, forY); boolean associative = op.isAssociative();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(shortName = "&") public class AndNode extends BinaryArithmeticNode<And> implements NarrowableArithmeticNode { - public static AndNode create(ValueNode x, ValueNode y) { - return new AndNode(x, y); - } - - protected AndNode(ValueNode x, ValueNode y) { + public AndNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getAnd, x, y); } @@ -55,7 +51,7 @@ return forX; } if (forX.isConstant() && !forY.isConstant()) { - return AndNode.create(forY, forX); + return new AndNode(forY, forX); } if (forY.isConstant()) { Constant c = forY.asConstant(); @@ -72,7 +68,7 @@ if (forX instanceof SignExtendNode) { SignExtendNode ext = (SignExtendNode) forX; if (rawY == ((1L << ext.getInputBits()) - 1)) { - return ZeroExtendNode.create(ext.getValue(), ext.getResultBits()); + return new ZeroExtendNode(ext.getValue(), ext.getResultBits()); } } IntegerStamp xStamp = (IntegerStamp) forX.stamp();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -74,27 +74,27 @@ } public static AddNode add(StructuredGraph graph, ValueNode v1, ValueNode v2) { - return graph.unique(AddNode.create(v1, v2)); + return graph.unique(new AddNode(v1, v2)); } public static AddNode add(ValueNode v1, ValueNode v2) { - return AddNode.create(v1, v2); + return new AddNode(v1, v2); } public static MulNode mul(StructuredGraph graph, ValueNode v1, ValueNode v2) { - return graph.unique(MulNode.create(v1, v2)); + return graph.unique(new MulNode(v1, v2)); } public static MulNode mul(ValueNode v1, ValueNode v2) { - return MulNode.create(v1, v2); + return new MulNode(v1, v2); } public static SubNode sub(StructuredGraph graph, ValueNode v1, ValueNode v2) { - return graph.unique(SubNode.create(v1, v2)); + return graph.unique(new SubNode(v1, v2)); } public static SubNode sub(ValueNode v1, ValueNode v2) { - return SubNode.create(v1, v2); + return new SubNode(v1, v2); } private enum ReassociateMatch { @@ -224,11 +224,11 @@ } else if (node instanceof MulNode) { return BinaryArithmeticNode.mul(a, AddNode.mul(m1, m2)); } else if (node instanceof AndNode) { - return AndNode.create(a, AndNode.create(m1, m2)); + return new AndNode(a, new AndNode(m1, m2)); } else if (node instanceof OrNode) { - return OrNode.create(a, OrNode.create(m1, m2)); + return new OrNode(a, new OrNode(m1, m2)); } else if (node instanceof XorNode) { - return XorNode.create(a, XorNode.create(m1, m2)); + return new XorNode(a, new XorNode(m1, m2)); } else { throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -79,7 +79,7 @@ return conditionalNode.condition(); } else { assert falseResult == true; - return LogicNegationNode.create(conditionalNode.condition()); + return new LogicNegationNode(conditionalNode.condition()); } } @@ -159,20 +159,20 @@ CompareNode comparison; if (condition == Condition.EQ) { if (x.stamp() instanceof AbstractObjectStamp) { - comparison = ObjectEqualsNode.create(x, y); + comparison = new ObjectEqualsNode(x, y); } else if (x.stamp() instanceof AbstractPointerStamp) { - comparison = PointerEqualsNode.create(x, y); + comparison = new PointerEqualsNode(x, y); } else { assert x.getKind().isNumericInteger(); - comparison = IntegerEqualsNode.create(x, y); + comparison = new IntegerEqualsNode(x, y); } } else if (condition == Condition.LT) { assert x.getKind().isNumericInteger(); - comparison = IntegerLessThanNode.create(x, y); + comparison = new IntegerLessThanNode(x, y); } else { assert condition == Condition.BT; assert x.getKind().isNumericInteger(); - comparison = IntegerBelowNode.create(x, y); + comparison = new IntegerBelowNode(x, y); } return comparison;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,19 +48,11 @@ return condition; } - public static ConditionalNode create(LogicNode condition) { - return new ConditionalNode(condition); - } - - protected ConditionalNode(LogicNode condition) { + public ConditionalNode(LogicNode condition) { this(condition, ConstantNode.forInt(1, condition.graph()), ConstantNode.forInt(0, condition.graph())); } - public static ConditionalNode create(LogicNode condition, ValueNode trueValue, ValueNode falseValue) { - return new ConditionalNode(condition, trueValue, falseValue); - } - - protected ConditionalNode(LogicNode condition, ValueNode trueValue, ValueNode falseValue) { + public ConditionalNode(LogicNode condition, ValueNode trueValue, ValueNode falseValue) { super(trueValue.stamp().meet(falseValue.stamp())); assert trueValue.stamp().isCompatible(falseValue.stamp()); this.condition = condition; @@ -85,7 +77,7 @@ public ValueNode canonical(CanonicalizerTool tool) { if (condition instanceof LogicNegationNode) { LogicNegationNode negated = (LogicNegationNode) condition; - return ConditionalNode.create(negated.getValue(), falseValue(), trueValue()); + return new ConditionalNode(negated.getValue(), falseValue(), trueValue()); } // this optimizes the case where a value that can only be 0 or 1 is materialized to 0 or 1 @@ -127,20 +119,12 @@ generator.emitConditional(this); } - public static ConditionalNode create(@InjectedNodeParameter StructuredGraph graph, Condition condition, ValueNode x, ValueNode y) { - return new ConditionalNode(graph, condition, x, y); - } - - protected ConditionalNode(StructuredGraph graph, Condition condition, ValueNode x, ValueNode y) { + public ConditionalNode(@InjectedNodeParameter StructuredGraph graph, Condition condition, ValueNode x, ValueNode y) { this(createCompareNode(graph, condition, x, y)); } - public static ConditionalNode create(ValueNode type, ValueNode object) { - return new ConditionalNode(type, object); - } - - protected ConditionalNode(ValueNode type, ValueNode object) { - this(type.graph().unique(InstanceOfDynamicNode.create(type, object))); + public ConditionalNode(ValueNode type, ValueNode object) { + this(type.graph().unique(new InstanceOfDynamicNode(type, object))); } @NodeIntrinsic
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo(shortName = "/") public class DivNode extends BinaryArithmeticNode<Div> { - public static DivNode create(ValueNode x, ValueNode y) { - return new DivNode(x, y); - } - - protected DivNode(ValueNode x, ValueNode y) { + public DivNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getDiv, x, y); } @@ -64,11 +60,11 @@ } ValueNode divResult = null; if (CodeUtil.isPowerOf2(i)) { - divResult = RightShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(i))); + divResult = new RightShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(i))); } if (divResult != null) { if (signFlip) { - return NegateNode.create(divResult); + return new NegateNode(divResult); } else { return divResult; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ protected final FloatConvert op; - public static FloatConvertNode create(FloatConvert op, ValueNode input) { - return new FloatConvertNode(op, input); - } - - protected FloatConvertNode(FloatConvert op, ValueNode input) { + public FloatConvertNode(FloatConvert op, ValueNode input) { super(table -> table.getFloatConvert(op), input); this.op = op; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,17 +33,7 @@ @NodeInfo(shortName = "==") public class FloatEqualsNode extends CompareNode { - /** - * Constructs a new floating point equality comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static FloatEqualsNode create(ValueNode x, ValueNode y) { - return new FloatEqualsNode(x, y); - } - - protected FloatEqualsNode(ValueNode x, ValueNode y) { + public FloatEqualsNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp() instanceof FloatStamp && y.stamp() instanceof FloatStamp : x.stamp() + " " + y.stamp(); assert x.stamp().isCompatible(y.stamp()); @@ -80,9 +70,9 @@ @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { if (newX.stamp() instanceof FloatStamp && newY.stamp() instanceof FloatStamp) { - return FloatEqualsNode.create(newX, newY); + return new FloatEqualsNode(newX, newY); } else if (newX.stamp() instanceof IntegerStamp && newY.stamp() instanceof IntegerStamp) { - return IntegerEqualsNode.create(newX, newY); + return new IntegerEqualsNode(newX, newY); } throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,19 +35,7 @@ protected final boolean unorderedIsTrue; - /** - * Constructs a new floating point comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - * @param unorderedIsTrue whether a comparison that is undecided (involving NaNs, etc.) leads to - * a "true" result - */ - public static FloatLessThanNode create(ValueNode x, ValueNode y, boolean unorderedIsTrue) { - return new FloatLessThanNode(x, y, unorderedIsTrue); - } - - protected FloatLessThanNode(ValueNode x, ValueNode y, boolean unorderedIsTrue) { + public FloatLessThanNode(ValueNode x, ValueNode y, boolean unorderedIsTrue) { super(x, y); assert x.stamp() instanceof FloatStamp && y.stamp() instanceof FloatStamp; assert x.stamp().isCompatible(y.stamp()); @@ -79,9 +67,9 @@ @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { if (newX.stamp() instanceof FloatStamp && newY.stamp() instanceof FloatStamp) { - return FloatLessThanNode.create(newX, newY, unorderedIsTrue); + return new FloatLessThanNode(newX, newY, unorderedIsTrue); } else if (newX.stamp() instanceof IntegerStamp && newY.stamp() instanceof IntegerStamp) { - return IntegerLessThanNode.create(newX, newY); + return new IntegerLessThanNode(newX, newY); } throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,17 +32,7 @@ @NodeInfo(shortName = "|<|") public class IntegerBelowNode extends CompareNode { - /** - * Constructs a new unsigned integer comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static IntegerBelowNode create(ValueNode x, ValueNode y) { - return new IntegerBelowNode(x, y); - } - - protected IntegerBelowNode(ValueNode x, ValueNode y) { + public IntegerBelowNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp() instanceof IntegerStamp; assert y.stamp() instanceof IntegerStamp; @@ -79,13 +69,13 @@ } if (forX.isConstant() && forX.asJavaConstant().asLong() == 0) { // 0 |<| y is the same as 0 != y - return LogicNegationNode.create(CompareNode.createCompareNode(Condition.EQ, forX, forY)); + return new LogicNegationNode(CompareNode.createCompareNode(Condition.EQ, forX, forY)); } return this; } @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { - return IntegerBelowNode.create(newX, newY); + return new IntegerBelowNode(newX, newY); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -120,13 +120,13 @@ if (toStamp.getBits() == fromStamp.getBits()) { result = input; } else if (toStamp.getBits() < fromStamp.getBits()) { - result = NarrowNode.create(input, fromStamp.getBits(), toStamp.getBits()); + result = new NarrowNode(input, fromStamp.getBits(), toStamp.getBits()); } else if (zeroExtend) { // toStamp.getBits() > fromStamp.getBits() - result = ZeroExtendNode.create(input, toStamp.getBits()); + result = new ZeroExtendNode(input, toStamp.getBits()); } else { // toStamp.getBits() > fromStamp.getBits() - result = SignExtendNode.create(input, toStamp.getBits()); + result = new SignExtendNode(input, toStamp.getBits()); } IntegerStamp resultStamp = (IntegerStamp) result.stamp();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo(shortName = "/") public class IntegerDivNode extends FixedBinaryNode implements Lowerable, LIRLowerable { - public static IntegerDivNode create(ValueNode x, ValueNode y) { - return new IntegerDivNode(x, y); - } - - protected IntegerDivNode(ValueNode x, ValueNode y) { + public IntegerDivNode(ValueNode x, ValueNode y) { super(IntegerStamp.OPS.getDiv().foldStamp(x.stamp(), y.stamp()), x, y); } @@ -63,7 +59,7 @@ return forX; } if (c == -1) { - return NegateNode.create(forX); + return new NegateNode(forX); } long abs = Math.abs(c); if (CodeUtil.isPowerOf2(abs) && forX.stamp() instanceof IntegerStamp) { @@ -73,13 +69,13 @@ // no rounding if dividend is positive or if its low bits are always 0 if (stampX.canBeNegative() || (stampX.upMask() & (abs - 1)) != 0) { int bits = PrimitiveStamp.getBits(stamp()); - RightShiftNode sign = RightShiftNode.create(forX, ConstantNode.forInt(bits - 1)); - UnsignedRightShiftNode round = UnsignedRightShiftNode.create(sign, ConstantNode.forInt(bits - log2)); + RightShiftNode sign = new RightShiftNode(forX, ConstantNode.forInt(bits - 1)); + UnsignedRightShiftNode round = new UnsignedRightShiftNode(sign, ConstantNode.forInt(bits - log2)); dividend = BinaryArithmeticNode.add(dividend, round); } - RightShiftNode shift = RightShiftNode.create(dividend, ConstantNode.forInt(log2)); + RightShiftNode shift = new RightShiftNode(dividend, ConstantNode.forInt(log2)); if (c < 0) { - return NegateNode.create(shift); + return new NegateNode(shift); } return shift; } @@ -92,7 +88,7 @@ IntegerRemNode integerRemNode = (IntegerRemNode) integerSubNode.getY(); if (integerSubNode.stamp().isCompatible(this.stamp()) && integerRemNode.stamp().isCompatible(this.stamp()) && integerSubNode.getX() == integerRemNode.getX() && forY == integerRemNode.getY()) { - return IntegerDivNode.create(integerSubNode.getX(), forY); + return new IntegerDivNode(integerSubNode.getX(), forY); } } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,17 +34,7 @@ @NodeInfo(shortName = "==") public class IntegerEqualsNode extends CompareNode { - /** - * Constructs a new integer equality comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static IntegerEqualsNode create(ValueNode x, ValueNode y) { - return new IntegerEqualsNode(x, y); - } - - protected IntegerEqualsNode(ValueNode x, ValueNode y) { + public IntegerEqualsNode(ValueNode x, ValueNode y) { super(x, y); assert !x.getKind().isNumericFloat() && x.getKind() != Kind.Object; assert !y.getKind().isNumericFloat() && y.getKind() != Kind.Object; @@ -68,9 +58,9 @@ ValueNode b = mirrored ? normalizeNode.getX() : normalizeNode.getY(); if (normalizeNode.getX().getKind() == Kind.Double || normalizeNode.getX().getKind() == Kind.Float) { - return FloatEqualsNode.create(a, b); + return new FloatEqualsNode(a, b); } else { - return IntegerEqualsNode.create(a, b); + return new IntegerEqualsNode(a, b); } } return this; @@ -79,9 +69,9 @@ @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { if (newX.stamp() instanceof FloatStamp && newY.stamp() instanceof FloatStamp) { - return FloatEqualsNode.create(newX, newY); + return new FloatEqualsNode(newX, newY); } else if (newX.stamp() instanceof IntegerStamp && newY.stamp() instanceof IntegerStamp) { - return IntegerEqualsNode.create(newX, newY); + return new IntegerEqualsNode(newX, newY); } throw GraalInternalError.shouldNotReachHere(); } @@ -101,7 +91,7 @@ if (constant instanceof PrimitiveConstant && ((PrimitiveConstant) constant).asLong() == 0) { if (nonConstant instanceof AndNode) { AndNode andNode = (AndNode) nonConstant; - return IntegerTestNode.create(andNode.getX(), andNode.getY()); + return new IntegerTestNode(andNode.getX(), andNode.getY()); } else if (nonConstant instanceof ShiftNode && nonConstant.stamp() instanceof IntegerStamp) { if (nonConstant instanceof LeftShiftNode) { LeftShiftNode shift = (LeftShiftNode) nonConstant; @@ -109,10 +99,10 @@ int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; if (shift.getX().getKind() == Kind.Int) { - return IntegerTestNode.create(shift.getX(), ConstantNode.forInt(-1 >>> amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 >>> amount)); } else { assert shift.getX().getKind() == Kind.Long; - return IntegerTestNode.create(shift.getX(), ConstantNode.forLong(-1L >>> amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L >>> amount)); } } } else if (nonConstant instanceof RightShiftNode) { @@ -121,10 +111,10 @@ int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; if (shift.getX().getKind() == Kind.Int) { - return IntegerTestNode.create(shift.getX(), ConstantNode.forInt(-1 << amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 << amount)); } else { assert shift.getX().getKind() == Kind.Long; - return IntegerTestNode.create(shift.getX(), ConstantNode.forLong(-1L << amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L << amount)); } } } else if (nonConstant instanceof UnsignedRightShiftNode) { @@ -133,10 +123,10 @@ int mask = shift.getShiftAmountMask(); int amount = shift.getY().asJavaConstant().asInt() & mask; if (shift.getX().getKind() == Kind.Int) { - return IntegerTestNode.create(shift.getX(), ConstantNode.forInt(-1 << amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forInt(-1 << amount)); } else { assert shift.getX().getKind() == Kind.Long; - return IntegerTestNode.create(shift.getX(), ConstantNode.forLong(-1L << amount)); + return new IntegerTestNode(shift.getX(), ConstantNode.forLong(-1L << amount)); } } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,17 +34,7 @@ @NodeInfo(shortName = "<") public class IntegerLessThanNode extends CompareNode { - /** - * Constructs a new integer comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static IntegerLessThanNode create(ValueNode x, ValueNode y) { - return new IntegerLessThanNode(x, y); - } - - protected IntegerLessThanNode(ValueNode x, ValueNode y) { + public IntegerLessThanNode(ValueNode x, ValueNode y) { super(x, y); assert !x.getKind().isNumericFloat() && x.getKind() != Kind.Object; assert !y.getKind().isNumericFloat() && y.getKind() != Kind.Object; @@ -69,9 +59,9 @@ ValueNode b = mirrored ? normalizeNode.getX() : normalizeNode.getY(); if (normalizeNode.getX().getKind() == Kind.Double || normalizeNode.getX().getKind() == Kind.Float) { - return FloatLessThanNode.create(a, b, mirrored ^ normalizeNode.isUnorderedLess); + return new FloatLessThanNode(a, b, mirrored ^ normalizeNode.isUnorderedLess); } else { - return IntegerLessThanNode.create(a, b); + return new IntegerLessThanNode(a, b); } } return this; @@ -96,7 +86,7 @@ } if (forX.stamp() instanceof IntegerStamp && forY.stamp() instanceof IntegerStamp) { if (IntegerStamp.sameSign((IntegerStamp) forX.stamp(), (IntegerStamp) forY.stamp())) { - return IntegerBelowNode.create(forX, forY); + return new IntegerBelowNode(forX, forY); } } return this; @@ -105,9 +95,9 @@ @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { if (newX.stamp() instanceof FloatStamp && newY.stamp() instanceof FloatStamp) { - return FloatLessThanNode.create(newX, newY, true); + return new FloatLessThanNode(newX, newY, true); } else if (newX.stamp() instanceof IntegerStamp && newY.stamp() instanceof IntegerStamp) { - return IntegerLessThanNode.create(newX, newY); + return new IntegerLessThanNode(newX, newY); } throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo(shortName = "%") public class IntegerRemNode extends FixedBinaryNode implements Lowerable, LIRLowerable { - public static IntegerRemNode create(ValueNode x, ValueNode y) { - return new IntegerRemNode(x, y); - } - - protected IntegerRemNode(ValueNode x, ValueNode y) { + public IntegerRemNode(ValueNode x, ValueNode y) { super(IntegerStamp.OPS.getRem().foldStamp(x.stamp(), y.stamp()), x, y); } @@ -59,7 +55,7 @@ if (c == 1 || c == -1) { return ConstantNode.forIntegerStamp(stamp(), 0); } else if (c > 0 && CodeUtil.isPowerOf2(c) && forX.stamp() instanceof IntegerStamp && ((IntegerStamp) forX.stamp()).isPositive()) { - return AndNode.create(forX, ConstantNode.forIntegerStamp(stamp(), c - 1)); + return new AndNode(forX, ConstantNode.forIntegerStamp(stamp(), c - 1)); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,17 +35,7 @@ @NodeInfo public class IntegerTestNode extends BinaryOpLogicNode { - /** - * Constructs a new Test instruction. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static IntegerTestNode create(ValueNode x, ValueNode y) { - return new IntegerTestNode(x, y); - } - - protected IntegerTestNode(ValueNode x, ValueNode y) { + public IntegerTestNode(ValueNode x, ValueNode y) { super(x, y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,16 +35,7 @@ @NodeInfo public class IsNullNode extends UnaryOpLogicNode implements LIRLowerable, Virtualizable, PiPushable { - /** - * Constructs a new IsNullNode instruction. - * - * @param object the instruction producing the object to check against null - */ - public static IsNullNode create(ValueNode object) { - return new IsNullNode(object); - } - - protected IsNullNode(ValueNode object) { + public IsNullNode(ValueNode object) { super(object); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo(shortName = "<<") public class LeftShiftNode extends ShiftNode<Shl> { - public static LeftShiftNode create(ValueNode x, ValueNode y) { - return new LeftShiftNode(x, y); - } - - protected LeftShiftNode(ValueNode x, ValueNode y) { + public LeftShiftNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getShl, x, y); } @@ -66,19 +62,19 @@ if (total != (total & mask)) { return ConstantNode.forIntegerKind(getKind(), 0); } - return LeftShiftNode.create(other.getX(), ConstantNode.forInt(total)); + return new LeftShiftNode(other.getX(), ConstantNode.forInt(total)); } else if ((other instanceof RightShiftNode || other instanceof UnsignedRightShiftNode) && otherAmount == amount) { if (getKind() == Kind.Long) { - return AndNode.create(other.getX(), ConstantNode.forLong(-1L << amount)); + return new AndNode(other.getX(), ConstantNode.forLong(-1L << amount)); } else { assert getKind() == Kind.Int; - return AndNode.create(other.getX(), ConstantNode.forInt(-1 << amount)); + return new AndNode(other.getX(), ConstantNode.forInt(-1 << amount)); } } } } if (originalAmout != amount) { - return LeftShiftNode.create(forX, ConstantNode.forInt(amount)); + return new LeftShiftNode(forX, ConstantNode.forInt(amount)); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(shortName = "*") public class MulNode extends BinaryArithmeticNode<Mul> implements NarrowableArithmeticNode { - public static MulNode create(ValueNode x, ValueNode y) { - return new MulNode(x, y); - } - - protected MulNode(ValueNode x, ValueNode y) { + public MulNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getMul, x, y); } @@ -52,7 +48,7 @@ } if (forX.isConstant() && !forY.isConstant()) { - return MulNode.create(forY, forX); + return new MulNode(forY, forX); } if (forY.isConstant()) { BinaryOp<Mul> op = getOp(forX, forY); @@ -74,18 +70,18 @@ long bit2 = i - bit1; bit2 = bit2 & -bit2; // Extract 2nd bit if (CodeUtil.isPowerOf2(i)) { // - mulResult = LeftShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(i))); + mulResult = new LeftShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(i))); } else if (bit2 + bit1 == i) { // We can work with two shifts and add - ValueNode shift1 = LeftShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(bit1))); - ValueNode shift2 = LeftShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(bit2))); - mulResult = AddNode.create(shift1, shift2); + ValueNode shift1 = new LeftShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(bit1))); + ValueNode shift2 = new LeftShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(bit2))); + mulResult = new AddNode(shift1, shift2); } else if (CodeUtil.isPowerOf2(i + 1)) { // shift and subtract - ValueNode shift1 = LeftShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(i + 1))); - mulResult = SubNode.create(shift1, forX); + ValueNode shift1 = new LeftShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(i + 1))); + mulResult = new SubNode(shift1, forX); } if (mulResult != null) { if (signFlip) { - return NegateNode.create(mulResult); + return new NegateNode(mulResult); } else { return mulResult; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,17 +37,12 @@ @NodeInfo public class NarrowNode extends IntegerConvertNode<Narrow, SignExtend> { - public static NarrowNode create(ValueNode input, int resultBits) { - int inputBits = PrimitiveStamp.getBits(input.stamp()); - assert 0 < resultBits && resultBits <= inputBits; - return create(input, inputBits, resultBits); + public NarrowNode(ValueNode input, int resultBits) { + this(input, PrimitiveStamp.getBits(input.stamp()), resultBits); + assert 0 < resultBits && resultBits <= PrimitiveStamp.getBits(input.stamp()); } - public static NarrowNode create(ValueNode input, int inputBits, int resultBits) { - return new NarrowNode(input, inputBits, resultBits); - } - - protected NarrowNode(ValueNode input, int inputBits, int resultBits) { + public NarrowNode(ValueNode input, int inputBits, int resultBits) { super(ArithmeticOpTable::getNarrow, ArithmeticOpTable::getSignExtend, inputBits, resultBits, input); } @@ -67,7 +62,7 @@ // zzzzzzzz yyyyxxxx -(narrow)-> yyyyxxxx -(narrow)-> xxxx // ==> zzzzzzzz yyyyxxxx -(narrow)-> xxxx NarrowNode other = (NarrowNode) forValue; - return NarrowNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new NarrowNode(other.getValue(), other.getInputBits(), getResultBits()); } else if (forValue instanceof IntegerConvertNode) { // SignExtendNode or ZeroExtendNode IntegerConvertNode<?, ?> other = (IntegerConvertNode<?, ?>) forValue; @@ -78,16 +73,16 @@ } else if (getResultBits() < other.getInputBits()) { // yyyyxxxx -(extend)-> zzzzzzzz yyyyxxxx -(narrow)-> xxxx // ==> yyyyxxxx -(narrow)-> xxxx - return NarrowNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new NarrowNode(other.getValue(), other.getInputBits(), getResultBits()); } else { if (other instanceof SignExtendNode) { // sxxx -(sign-extend)-> ssssssss sssssxxx -(narrow)-> sssssxxx // ==> sxxx -(sign-extend)-> sssssxxx - return SignExtendNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new SignExtendNode(other.getValue(), other.getInputBits(), getResultBits()); } else if (other instanceof ZeroExtendNode) { // xxxx -(zero-extend)-> 00000000 00000xxx -(narrow)-> 0000xxxx // ==> xxxx -(zero-extend)-> 0000xxxx - return ZeroExtendNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new ZeroExtendNode(other.getValue(), other.getInputBits(), getResultBits()); } } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,16 +36,7 @@ @NodeInfo public class NegateNode extends UnaryArithmeticNode<Neg> implements NarrowableArithmeticNode { - /** - * Creates new NegateNode instance. - * - * @param value the instruction producing the value that is input to this instruction - */ - public static NegateNode create(ValueNode value) { - return new NegateNode(value); - } - - protected NegateNode(ValueNode value) { + public NegateNode(ValueNode value) { super(ArithmeticOpTable::getNeg, value); } @@ -60,7 +51,7 @@ } if (forValue instanceof SubNode) { SubNode sub = (SubNode) forValue; - return SubNode.create(sub.getY(), sub.getX()); + return new SubNode(sub.getY(), sub.getX()); } return this; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,19 +39,7 @@ protected final boolean isUnorderedLess; - /** - * Creates a new compare operation. - * - * @param x the first input - * @param y the second input - * @param isUnorderedLess true when an unordered floating point comparison is interpreted as - * less, false when greater. - */ - public static NormalizeCompareNode create(ValueNode x, ValueNode y, boolean isUnorderedLess) { - return new NormalizeCompareNode(x, y, isUnorderedLess); - } - - protected NormalizeCompareNode(ValueNode x, ValueNode y, boolean isUnorderedLess) { + public NormalizeCompareNode(ValueNode x, ValueNode y, boolean isUnorderedLess) { super(StampFactory.forKind(Kind.Int), x, y); this.isUnorderedLess = isUnorderedLess; } @@ -67,15 +55,15 @@ LogicNode equalComp; LogicNode lessComp; if (getX().stamp() instanceof FloatStamp) { - equalComp = graph().unique(FloatEqualsNode.create(getX(), getY())); - lessComp = graph().unique(FloatLessThanNode.create(getX(), getY(), isUnorderedLess)); + equalComp = graph().unique(new FloatEqualsNode(getX(), getY())); + lessComp = graph().unique(new FloatLessThanNode(getX(), getY(), isUnorderedLess)); } else { - equalComp = graph().unique(IntegerEqualsNode.create(getX(), getY())); - lessComp = graph().unique(IntegerLessThanNode.create(getX(), getY())); + equalComp = graph().unique(new IntegerEqualsNode(getX(), getY())); + lessComp = graph().unique(new IntegerLessThanNode(getX(), getY())); } - ConditionalNode equalValue = graph().unique(ConditionalNode.create(equalComp, ConstantNode.forInt(0, graph()), ConstantNode.forInt(1, graph()))); - ConditionalNode value = graph().unique(ConditionalNode.create(lessComp, ConstantNode.forInt(-1, graph()), equalValue)); + ConditionalNode equalValue = graph().unique(new ConditionalNode(equalComp, ConstantNode.forInt(0, graph()), ConstantNode.forInt(1, graph()))); + ConditionalNode value = graph().unique(new ConditionalNode(lessComp, ConstantNode.forInt(-1, graph()), equalValue)); graph().replaceFloating(this, value); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,16 +36,7 @@ @NodeInfo public class NotNode extends UnaryArithmeticNode<Not> implements ArithmeticLIRLowerable, NarrowableArithmeticNode { - /** - * Creates new NotNode instance. - * - * @param x the instruction producing the value that is input to this instruction - */ - public static NotNode create(ValueNode x) { - return new NotNode(x); - } - - protected NotNode(ValueNode x) { + public NotNode(ValueNode x) { super(ArithmeticOpTable::getNot, x); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,17 +32,7 @@ @NodeInfo(shortName = "==") public class ObjectEqualsNode extends PointerEqualsNode implements Virtualizable { - /** - * Constructs a new object equality comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static ObjectEqualsNode create(ValueNode x, ValueNode y) { - return new ObjectEqualsNode(x, y); - } - - protected ObjectEqualsNode(ValueNode x, ValueNode y) { + public ObjectEqualsNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp() instanceof AbstractObjectStamp; assert y.stamp() instanceof AbstractObjectStamp; @@ -54,7 +44,7 @@ JavaConstant otherUnboxed = tool.getConstantReflectionProvider().unboxPrimitive(other.asJavaConstant()); if (otherUnboxed != null && otherUnboxed.getKind() == Kind.Boolean) { int expectedValue = otherUnboxed.asBoolean() ? 1 : 0; - IntegerEqualsNode equals = IntegerEqualsNode.create(state.getEntry(0), ConstantNode.forInt(expectedValue, graph())); + IntegerEqualsNode equals = new IntegerEqualsNode(state.getEntry(0), ConstantNode.forInt(expectedValue, graph())); tool.addNode(equals); tool.replaceWithValue(equals); } else { @@ -85,7 +75,7 @@ /* * One of the two objects has identity, the other doesn't. In code, this looks like * "Integer.valueOf(a) == new Integer(b)", which is always false. - * + * * In other words: an object created via valueOf can never be equal to one created * by new in the same compilation unit. */ @@ -98,7 +88,7 @@ // both are virtual without identity: check contents assert stateX.getVirtualObject().entryCount() == 1 && stateY.getVirtualObject().entryCount() == 1; assert stateX.getVirtualObject().entryKind(0).getStackKind() == Kind.Int || stateX.getVirtualObject().entryKind(0) == Kind.Long; - IntegerEqualsNode equals = IntegerEqualsNode.create(stateX.getEntry(0), stateY.getEntry(0)); + IntegerEqualsNode equals = new IntegerEqualsNode(stateX.getEntry(0), stateY.getEntry(0)); tool.addNode(equals); tool.replaceWithValue(equals); } @@ -113,9 +103,9 @@ @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { if (newX.stamp() instanceof ObjectStamp && newY.stamp() instanceof ObjectStamp) { - return ObjectEqualsNode.create(newX, newY); + return new ObjectEqualsNode(newX, newY); } else if (newX.stamp() instanceof AbstractPointerStamp && newY.stamp() instanceof AbstractPointerStamp) { - return PointerEqualsNode.create(newX, newY); + return new PointerEqualsNode(newX, newY); } throw GraalInternalError.shouldNotReachHere(); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(shortName = "|") public class OrNode extends BinaryArithmeticNode<Or> { - public static OrNode create(ValueNode x, ValueNode y) { - return new OrNode(x, y); - } - - protected OrNode(ValueNode x, ValueNode y) { + public OrNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getOr, x, y); } @@ -55,7 +51,7 @@ return forX; } if (forX.isConstant() && !forY.isConstant()) { - return create(forY, forX); + return new OrNode(forY, forX); } if (forY.isConstant()) { Constant c = forY.asConstant();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/PointerEqualsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/PointerEqualsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,17 +32,7 @@ @NodeInfo(shortName = "==") public class PointerEqualsNode extends CompareNode { - /** - * Constructs a new pointer equality comparison node. - * - * @param x the instruction producing the first input to the instruction - * @param y the instruction that produces the second input to this instruction - */ - public static PointerEqualsNode create(ValueNode x, ValueNode y) { - return new PointerEqualsNode(x, y); - } - - protected PointerEqualsNode(ValueNode x, ValueNode y) { + public PointerEqualsNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp() instanceof AbstractPointerStamp; assert y.stamp() instanceof AbstractPointerStamp; @@ -65,15 +55,15 @@ } else if (forX.stamp().alwaysDistinct(forY.stamp())) { return LogicConstantNode.contradiction(); } else if (((AbstractPointerStamp) forX.stamp()).alwaysNull()) { - return IsNullNode.create(forY); + return new IsNullNode(forY); } else if (((AbstractPointerStamp) forY.stamp()).alwaysNull()) { - return IsNullNode.create(forX); + return new IsNullNode(forX); } return super.canonical(tool, forX, forY); } @Override protected CompareNode duplicateModified(ValueNode newX, ValueNode newY) { - return PointerEqualsNode.create(newX, newY); + return new PointerEqualsNode(newX, newY); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,19 +40,11 @@ @NodeInfo public class ReinterpretNode extends UnaryNode implements ArithmeticLIRLowerable { - public static ReinterpretNode create(Kind to, ValueNode value) { - return new ReinterpretNode(to, value); - } - - protected ReinterpretNode(Kind to, ValueNode value) { + public ReinterpretNode(Kind to, ValueNode value) { this(StampFactory.forKind(to), value); } - public static ReinterpretNode create(Stamp to, ValueNode value) { - return new ReinterpretNode(to, value); - } - - protected ReinterpretNode(Stamp to, ValueNode value) { + public ReinterpretNode(Stamp to, ValueNode value) { super(to, value); assert to instanceof ArithmeticStamp; } @@ -81,7 +73,7 @@ } if (forValue instanceof ReinterpretNode) { ReinterpretNode reinterpret = (ReinterpretNode) forValue; - return ReinterpretNode.create(stamp(), reinterpret.getValue()); + return new ReinterpretNode(stamp(), reinterpret.getValue()); } return this; } @@ -93,7 +85,7 @@ } public static ValueNode reinterpret(Kind toKind, ValueNode value) { - return value.graph().unique(ReinterpretNode.create(toKind, value)); + return value.graph().unique(new ReinterpretNode(toKind, value)); } @NodeIntrinsic
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RemNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RemNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo(shortName = "%") public class RemNode extends BinaryArithmeticNode<Rem> implements Lowerable { - public static RemNode create(ValueNode x, ValueNode y) { - return new RemNode(x, y); - } - - protected RemNode(ValueNode x, ValueNode y) { + public RemNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getRem, x, y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo(shortName = ">>") public class RightShiftNode extends ShiftNode<Shr> { - public static RightShiftNode create(ValueNode x, ValueNode y) { - return new RightShiftNode(x, y); - } - - protected RightShiftNode(ValueNode x, ValueNode y) { + public RightShiftNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getShr, x, y); } @@ -49,7 +45,7 @@ } if (forX.stamp() instanceof IntegerStamp && ((IntegerStamp) forX.stamp()).isPositive()) { - return UnsignedRightShiftNode.create(forX, forY); + return new UnsignedRightShiftNode(forX, forY); } if (forY.isConstant()) { @@ -82,14 +78,14 @@ * full shift for this kind */ assert total >= mask; - return RightShiftNode.create(other.getX(), ConstantNode.forInt(mask)); + return new RightShiftNode(other.getX(), ConstantNode.forInt(mask)); } - return RightShiftNode.create(other.getX(), ConstantNode.forInt(total)); + return new RightShiftNode(other.getX(), ConstantNode.forInt(total)); } } } if (originalAmout != amount) { - return RightShiftNode.create(forX, ConstantNode.forInt(amount)); + return new RightShiftNode(forX, ConstantNode.forInt(amount)); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,17 +37,12 @@ @NodeInfo public class SignExtendNode extends IntegerConvertNode<SignExtend, Narrow> { - public static SignExtendNode create(ValueNode input, int resultBits) { - int inputBits = PrimitiveStamp.getBits(input.stamp()); - assert 0 < inputBits && inputBits <= resultBits; - return create(input, inputBits, resultBits); + public SignExtendNode(ValueNode input, int resultBits) { + this(input, PrimitiveStamp.getBits(input.stamp()), resultBits); + assert 0 < PrimitiveStamp.getBits(input.stamp()) && PrimitiveStamp.getBits(input.stamp()) <= resultBits; } - public static SignExtendNode create(ValueNode input, int inputBits, int resultBits) { - return new SignExtendNode(input, inputBits, resultBits); - } - - protected SignExtendNode(ValueNode input, int inputBits, int resultBits) { + public SignExtendNode(ValueNode input, int inputBits, int resultBits) { super(ArithmeticOpTable::getSignExtend, ArithmeticOpTable::getNarrow, inputBits, resultBits, input); } @@ -67,13 +62,13 @@ // sxxx -(sign-extend)-> ssss sxxx -(sign-extend)-> ssssssss sssssxxx // ==> sxxx -(sign-extend)-> ssssssss sssssxxx SignExtendNode other = (SignExtendNode) forValue; - return SignExtendNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new SignExtendNode(other.getValue(), other.getInputBits(), getResultBits()); } else if (forValue instanceof ZeroExtendNode) { ZeroExtendNode other = (ZeroExtendNode) forValue; if (other.getResultBits() > other.getInputBits()) { // sxxx -(zero-extend)-> 0000 sxxx -(sign-extend)-> 00000000 0000sxxx // ==> sxxx -(zero-extend)-> 00000000 0000sxxx - return ZeroExtendNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new ZeroExtendNode(other.getValue(), other.getInputBits(), getResultBits()); } } @@ -82,7 +77,7 @@ if ((inputStamp.upMask() & (1L << (getInputBits() - 1))) == 0L) { // 0xxx -(sign-extend)-> 0000 0xxx // ==> 0xxx -(zero-extend)-> 0000 0xxx - return ZeroExtendNode.create(forValue, getInputBits(), getResultBits()); + return new ZeroExtendNode(forValue, getInputBits(), getResultBits()); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SqrtNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SqrtNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ @NodeInfo public class SqrtNode extends UnaryArithmeticNode<Sqrt> implements ArithmeticLIRLowerable, NarrowableArithmeticNode { - public static SqrtNode create(ValueNode x) { - return new SqrtNode(x); - } - - protected SqrtNode(ValueNode x) { + public SqrtNode(ValueNode x) { super(ArithmeticOpTable::getSqrt, x); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(shortName = "-") public class SubNode extends BinaryArithmeticNode<Sub> implements NarrowableArithmeticNode { - public static SubNode create(ValueNode x, ValueNode y) { - return new SubNode(x, y); - } - - protected SubNode(ValueNode x, ValueNode y) { + public SubNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getSub, x, y); } @@ -75,18 +71,18 @@ SubNode x = (SubNode) forX; if (x.getX() == forY) { // (a - b) - a - return NegateNode.create(x.getY()); + return new NegateNode(x.getY()); } } if (forY instanceof AddNode) { AddNode y = (AddNode) forY; if (y.getX() == forX) { // a - (a + b) - return NegateNode.create(y.getY()); + return new NegateNode(y.getY()); } if (y.getY() == forX) { // b - (a + b) - return NegateNode.create(y.getX()); + return new NegateNode(y.getX()); } } else if (forY instanceof SubNode) { SubNode y = (SubNode) forY; @@ -123,7 +119,7 @@ * have to test for the neutral element of +, because we are doing this * transformation: 0 - x == (-x) + 0 == -x. */ - return NegateNode.create(forY); + return new NegateNode(forY); } if (associative) { return reassociate(this, ValueNode.isConstantPredicate(), forX, forY);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo(shortName = "|/|") public class UnsignedDivNode extends FixedBinaryNode implements Lowerable, LIRLowerable { - public static UnsignedDivNode create(ValueNode x, ValueNode y) { - return new UnsignedDivNode(x, y); - } - - protected UnsignedDivNode(ValueNode x, ValueNode y) { + public UnsignedDivNode(ValueNode x, ValueNode y) { super(x.stamp().unrestricted(), x, y); } @@ -54,7 +50,7 @@ return forX; } if (CodeUtil.isPowerOf2(c)) { - return UnsignedRightShiftNode.create(forX, ConstantNode.forInt(CodeUtil.log2(c))); + return new UnsignedRightShiftNode(forX, ConstantNode.forInt(CodeUtil.log2(c))); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @NodeInfo(shortName = "|%|") public class UnsignedRemNode extends FixedBinaryNode implements Lowerable, LIRLowerable { - public static UnsignedRemNode create(ValueNode x, ValueNode y) { - return new UnsignedRemNode(x, y); - } - - protected UnsignedRemNode(ValueNode x, ValueNode y) { + public UnsignedRemNode(ValueNode x, ValueNode y) { super(x.stamp().unrestricted(), x, y); } @@ -53,7 +49,7 @@ if (c == 1) { return ConstantNode.forIntegerStamp(stamp(), 0); } else if (CodeUtil.isPowerOf2(c)) { - return AndNode.create(forX, ConstantNode.forIntegerStamp(stamp(), c - 1)); + return new AndNode(forX, ConstantNode.forIntegerStamp(stamp(), c - 1)); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo(shortName = ">>>") public class UnsignedRightShiftNode extends ShiftNode<UShr> { - public static UnsignedRightShiftNode create(ValueNode x, ValueNode y) { - return new UnsignedRightShiftNode(x, y); - } - - protected UnsignedRightShiftNode(ValueNode x, ValueNode y) { + public UnsignedRightShiftNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getUShr, x, y); } @@ -66,19 +62,19 @@ if (total != (total & mask)) { return ConstantNode.forIntegerKind(getKind(), 0); } - return UnsignedRightShiftNode.create(other.getX(), ConstantNode.forInt(total)); + return new UnsignedRightShiftNode(other.getX(), ConstantNode.forInt(total)); } else if (other instanceof LeftShiftNode && otherAmount == amount) { if (getKind() == Kind.Long) { - return AndNode.create(other.getX(), ConstantNode.forLong(-1L >>> amount)); + return new AndNode(other.getX(), ConstantNode.forLong(-1L >>> amount)); } else { assert getKind() == Kind.Int; - return AndNode.create(other.getX(), ConstantNode.forInt(-1 >>> amount)); + return new AndNode(other.getX(), ConstantNode.forInt(-1 >>> amount)); } } } } if (originalAmout != amount) { - return UnsignedRightShiftNode.create(forX, ConstantNode.forInt(amount)); + return new UnsignedRightShiftNode(forX, ConstantNode.forInt(amount)); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(shortName = "^") public class XorNode extends BinaryArithmeticNode<Xor> { - public static XorNode create(ValueNode x, ValueNode y) { - return new XorNode(x, y); - } - - protected XorNode(ValueNode x, ValueNode y) { + public XorNode(ValueNode x, ValueNode y) { super(ArithmeticOpTable::getXor, x, y); assert x.stamp().isCompatible(y.stamp()); } @@ -56,7 +52,7 @@ return ConstantNode.forPrimitive(stamp(), getOp(forX, forY).getZero(forX.stamp())); } if (forX.isConstant() && !forY.isConstant()) { - return XorNode.create(forY, forX); + return new XorNode(forY, forX); } if (forY.isConstant()) { Constant c = forY.asConstant(); @@ -68,7 +64,7 @@ long rawY = ((PrimitiveConstant) c).asLong(); long mask = CodeUtil.mask(PrimitiveStamp.getBits(stamp())); if ((rawY & mask) == mask) { - return NotNode.create(forX); + return new NotNode(forX); } } return reassociate(this, ValueNode.isConstantPredicate(), forX, forY);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,17 +39,12 @@ @NodeInfo public class ZeroExtendNode extends IntegerConvertNode<ZeroExtend, Narrow> { - public static ZeroExtendNode create(ValueNode input, int resultBits) { - int inputBits = PrimitiveStamp.getBits(input.stamp()); - assert 0 < inputBits && inputBits <= resultBits; - return create(input, inputBits, resultBits); + public ZeroExtendNode(ValueNode input, int resultBits) { + this(input, PrimitiveStamp.getBits(input.stamp()), resultBits); + assert 0 < PrimitiveStamp.getBits(input.stamp()) && PrimitiveStamp.getBits(input.stamp()) <= resultBits; } - public static ZeroExtendNode create(ValueNode input, int inputBits, int resultBits) { - return new ZeroExtendNode(input, inputBits, resultBits); - } - - protected ZeroExtendNode(ValueNode input, int inputBits, int resultBits) { + public ZeroExtendNode(ValueNode input, int inputBits, int resultBits) { super(ArithmeticOpTable::getZeroExtend, ArithmeticOpTable::getNarrow, inputBits, resultBits, input); } @@ -82,7 +77,7 @@ // xxxx -(zero-extend)-> 0000 xxxx -(zero-extend)-> 00000000 0000xxxx // ==> xxxx -(zero-extend)-> 00000000 0000xxxx ZeroExtendNode other = (ZeroExtendNode) forValue; - return ZeroExtendNode.create(other.getValue(), other.getInputBits(), getResultBits()); + return new ZeroExtendNode(other.getValue(), other.getInputBits(), getResultBits()); } if (forValue instanceof NarrowNode) { NarrowNode narrow = (NarrowNode) forValue;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected final String group; protected final boolean withContext; - public static DynamicCounterNode create(String name, String group, ValueNode increment, boolean withContext) { - return new DynamicCounterNode(name, group, increment, withContext); - } - - protected DynamicCounterNode(String name, String group, ValueNode increment, boolean withContext) { + public DynamicCounterNode(String name, String group, ValueNode increment, boolean withContext) { super(StampFactory.forVoid()); this.name = name; this.group = group; @@ -79,7 +75,7 @@ public static void addCounterBefore(String group, String name, long increment, boolean withContext, FixedNode position) { StructuredGraph graph = position.graph(); - graph.addBeforeFixed(position, position.graph().add(DynamicCounterNode.create(name, group, ConstantNode.forLong(increment, position.graph()), withContext))); + graph.addBeforeFixed(position, position.graph().add(new DynamicCounterNode(name, group, ConstantNode.forLong(increment, position.graph()), withContext))); } @NodeIntrinsic
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/VerifyHeapNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/VerifyHeapNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo public class VerifyHeapNode extends FixedWithNextNode implements Lowerable { - public static VerifyHeapNode create() { - return new VerifyHeapNode(); - } - - protected VerifyHeapNode() { + public VerifyHeapNode() { super(StampFactory.forVoid()); } @@ -49,12 +45,12 @@ public static void addBefore(FixedNode position) { StructuredGraph graph = position.graph(); - graph.addBeforeFixed(position, graph.add(VerifyHeapNode.create())); + graph.addBeforeFixed(position, graph.add(new VerifyHeapNode())); } public static void addAfter(FixedWithNextNode position) { StructuredGraph graph = position.graph(); - graph.addAfterFixed(position, graph.add(VerifyHeapNode.create())); + graph.addAfterFixed(position, graph.add(new VerifyHeapNode())); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input ValueNode checkedValue; - public static WeakCounterNode create(String group, String name, ValueNode increment, boolean addContext, ValueNode checkedValue) { - return new WeakCounterNode(group, name, increment, addContext, checkedValue); - } - - protected WeakCounterNode(String group, String name, ValueNode increment, boolean addContext, ValueNode checkedValue) { + public WeakCounterNode(String group, String name, ValueNode increment, boolean addContext, ValueNode checkedValue) { super(group, name, increment, addContext); this.checkedValue = checkedValue; } @@ -65,7 +61,7 @@ public static void addCounterBefore(String group, String name, long increment, boolean addContext, ValueNode checkedValue, FixedNode position) { StructuredGraph graph = position.graph(); - WeakCounterNode counter = graph.add(WeakCounterNode.create(name, group, ConstantNode.forLong(increment, graph), addContext, checkedValue)); + WeakCounterNode counter = graph.add(new WeakCounterNode(name, group, ConstantNode.forLong(increment, graph), addContext, checkedValue)); graph.addBeforeFixed(position, counter); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -24,7 +24,6 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; -import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodeinfo.*; @@ -50,17 +49,9 @@ return (LocationNode) y; } - public static AddLocationNode create(LocationNode x, LocationNode y, Graph graph) { + public AddLocationNode(LocationNode x, LocationNode y) { + super(StampFactory.forVoid()); assert x.getLocationIdentity().equals(y.getLocationIdentity()); - return graph.unique(AddLocationNode.create(x, y)); - } - - public static AddLocationNode create(ValueNode x, ValueNode y) { - return new AddLocationNode(x, y); - } - - protected AddLocationNode(ValueNode x, ValueNode y) { - super(StampFactory.forVoid()); this.x = x; this.y = y; } @@ -83,7 +74,7 @@ if (xIdx.getIndexScaling() == yIdx.getIndexScaling()) { long displacement = xIdx.getDisplacement() + yIdx.getDisplacement(); ValueNode index = BinaryArithmeticNode.add(xIdx.getIndex(), yIdx.getIndex()); - return IndexedLocationNode.create(getLocationIdentity(), displacement, index, xIdx.getIndexScaling()); + return new IndexedLocationNode(getLocationIdentity(), displacement, index, xIdx.getIndexScaling()); } } return this; @@ -92,15 +83,15 @@ private LocationNode canonical(ConstantLocationNode constant, LocationNode other) { if (other instanceof ConstantLocationNode) { ConstantLocationNode otherConst = (ConstantLocationNode) other; - return ConstantLocationNode.create(getLocationIdentity(), otherConst.getDisplacement() + constant.getDisplacement()); + return new ConstantLocationNode(getLocationIdentity(), otherConst.getDisplacement() + constant.getDisplacement()); } else if (other instanceof IndexedLocationNode) { IndexedLocationNode otherIdx = (IndexedLocationNode) other; - return IndexedLocationNode.create(getLocationIdentity(), otherIdx.getDisplacement() + constant.getDisplacement(), otherIdx.getIndex(), otherIdx.getIndexScaling()); + return new IndexedLocationNode(getLocationIdentity(), otherIdx.getDisplacement() + constant.getDisplacement(), otherIdx.getIndex(), otherIdx.getIndexScaling()); } else if (other instanceof AddLocationNode) { AddLocationNode otherAdd = (AddLocationNode) other; LocationNode newInner = otherAdd.canonical(constant, otherAdd.getX()); if (newInner != otherAdd) { - return AddLocationNode.create(newInner, otherAdd.getY()); + return new AddLocationNode(newInner, otherAdd.getY()); } } return this; @@ -116,7 +107,4 @@ public IntegerStamp getDisplacementStamp() { return (IntegerStamp) IntegerStamp.OPS.getAdd().foldStamp(getX().getDisplacementStamp(), getY().getDisplacementStamp()); } - - @NodeIntrinsic - public static native Location addLocation(Location x, Location y); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected final Kind boxingKind; - public static BoxNode create(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) { - return new BoxNode(value, resultType, boxingKind); - } - - protected BoxNode(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) { + public BoxNode(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) { super(StampFactory.exactNonNull(resultType), value); this.boxingKind = boxingKind; } @@ -76,7 +72,7 @@ ValueNode v = tool.getReplacedValue(getValue()); ResolvedJavaType type = StampTool.typeOrNull(stamp()); - VirtualBoxingNode newVirtual = VirtualBoxingNode.create(type, boxingKind); + VirtualBoxingNode newVirtual = new VirtualBoxingNode(type, boxingKind); assert newVirtual.getFields().length == 1; tool.createVirtualObject(newVirtual, new ValueNode[]{v}, Collections.<MonitorIdNode> emptyList());
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -53,11 +53,7 @@ @Input ValueNode probability; @Input ValueNode condition; - public static BranchProbabilityNode create(ValueNode probability, ValueNode condition) { - return new BranchProbabilityNode(probability, condition); - } - - protected BranchProbabilityNode(ValueNode probability, ValueNode condition) { + public BranchProbabilityNode(ValueNode probability, ValueNode condition) { super(condition.stamp()); this.probability = probability; this.condition = condition;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ protected final Class<? extends Throwable> exceptionClass; @Input NodeInputList<ValueNode> arguments; - public static BytecodeExceptionNode create(MetaAccessProvider metaAccess, Class<? extends Throwable> exceptionClass, ValueNode... arguments) { - return new BytecodeExceptionNode(metaAccess, exceptionClass, arguments); - } - - protected BytecodeExceptionNode(MetaAccessProvider metaAccess, Class<? extends Throwable> exceptionClass, ValueNode... arguments) { + public BytecodeExceptionNode(MetaAccessProvider metaAccess, Class<? extends Throwable> exceptionClass, ValueNode... arguments) { super(StampFactory.exactNonNull(metaAccess.lookupJavaType(exceptionClass))); this.exceptionClass = exceptionClass; this.arguments = new NodeInputList<>(this, arguments);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ return (LocationNode) location; } - public static ComputeAddressNode create(ValueNode object, ValueNode location, Stamp stamp) { - return new ComputeAddressNode(object, location, stamp); - } - - protected ComputeAddressNode(ValueNode object, ValueNode location, Stamp stamp) { + public ComputeAddressNode(ValueNode object, ValueNode location, Stamp stamp) { super(stamp); this.object = object; this.location = location;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -24,7 +24,6 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; -import com.oracle.graal.graph.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.spi.*; @@ -39,15 +38,7 @@ protected final LocationIdentity locationIdentity; protected final long displacement; - public static ConstantLocationNode create(LocationIdentity identity, long displacement, Graph graph) { - return graph.unique(ConstantLocationNode.create(identity, displacement)); - } - - public static ConstantLocationNode create(LocationIdentity identity, long displacement) { - return new ConstantLocationNode(identity, displacement); - } - - protected ConstantLocationNode(LocationIdentity identity, long displacement) { + public ConstantLocationNode(LocationIdentity identity, long displacement) { super(StampFactory.forVoid()); this.locationIdentity = identity; this.displacement = displacement;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,14 +36,9 @@ return object; } - public static FixedValueAnchorNode create(ValueNode object) { - return new FixedValueAnchorNode(object); - } - - protected FixedValueAnchorNode(ValueNode object) { + public FixedValueAnchorNode(ValueNode object) { super(StampFactory.forNodeIntrinsic()); this.object = object; - } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,27 +39,15 @@ @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess; - public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp) { - return new FloatingReadNode(object, location, lastLocationAccess, stamp); - } - - protected FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp) { + public FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp) { this(object, location, lastLocationAccess, stamp, null, BarrierType.NONE); } - public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard) { - return new FloatingReadNode(object, location, lastLocationAccess, stamp, guard); - } - - protected FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard) { + public FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard) { this(object, location, lastLocationAccess, stamp, guard, BarrierType.NONE); } - public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, BarrierType barrierType) { - return new FloatingReadNode(object, location, lastLocationAccess, stamp, guard, barrierType); - } - - protected FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, BarrierType barrierType) { + public FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, BarrierType barrierType) { super(object, location, stamp, guard, barrierType); this.lastLocationAccess = lastLocationAccess; } @@ -83,14 +71,14 @@ @Override public Node canonical(CanonicalizerTool tool) { if (object() instanceof PiNode && ((PiNode) object()).getGuard() == getGuard()) { - return FloatingReadNode.create(((PiNode) object()).getOriginalNode(), location(), getLastLocationAccess(), stamp(), getGuard(), getBarrierType()); + return new FloatingReadNode(((PiNode) object()).getOriginalNode(), location(), getLastLocationAccess(), stamp(), getGuard(), getBarrierType()); } return ReadNode.canonicalizeRead(this, location(), object(), tool); } @Override public FixedAccessNode asFixedNode() { - return graph().add(ReadNode.create(object(), accessLocation(), stamp(), getGuard(), getBarrierType())); + return graph().add(new ReadNode(object(), accessLocation(), stamp(), getGuard(), getBarrierType())); } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,41 +45,25 @@ protected final ForeignCallDescriptor descriptor; protected int bci = BytecodeFrame.UNKNOWN_BCI; - public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { - return new ForeignCallNode(foreignCalls, descriptor, arguments); - } - - protected ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { + public ForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) { super(StampFactory.forKind(Kind.fromJavaClass(descriptor.getResultType()))); this.arguments = new NodeInputList<>(this, arguments); this.descriptor = descriptor; this.foreignCalls = foreignCalls; } - public static ForeignCallNode create(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, List<ValueNode> arguments) { - return new ForeignCallNode(foreignCalls, descriptor, arguments); - } - - protected ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, List<ValueNode> arguments) { + public ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, List<ValueNode> arguments) { this(foreignCalls, descriptor, StampFactory.forKind(Kind.fromJavaClass(descriptor.getResultType())), arguments); } - public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp, List<ValueNode> arguments) { - return new ForeignCallNode(foreignCalls, descriptor, stamp, arguments); - } - - protected ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp, List<ValueNode> arguments) { + public ForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp, List<ValueNode> arguments) { super(stamp); this.arguments = new NodeInputList<>(this, arguments); this.descriptor = descriptor; this.foreignCalls = foreignCalls; } - public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) { - return new ForeignCallNode(foreignCalls, descriptor, stamp); - } - - protected ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) { + public ForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) { super(stamp); this.arguments = new NodeInputList<>(this); this.descriptor = descriptor;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -63,15 +63,7 @@ return indexScaling; } - public static IndexedLocationNode create(LocationIdentity identity, long displacement, ValueNode index, Graph graph, int indexScaling) { - return graph.unique(IndexedLocationNode.create(identity, displacement, index, indexScaling)); - } - - public static IndexedLocationNode create(LocationIdentity identity, long displacement, ValueNode index, int indexScaling) { - return new IndexedLocationNode(identity, displacement, index, indexScaling); - } - - protected IndexedLocationNode(LocationIdentity identity, long displacement, ValueNode index, int indexScaling) { + public IndexedLocationNode(LocationIdentity identity, long displacement, ValueNode index, int indexScaling) { super(StampFactory.forVoid()); assert index != null; assert indexScaling != 0; @@ -89,7 +81,7 @@ @Override public Node canonical(CanonicalizerTool tool) { if (index.isConstant()) { - return ConstantLocationNode.create(getLocationIdentity(), index.asJavaConstant().asLong() * indexScaling + displacement); + return new ConstantLocationNode(getLocationIdentity(), index.asJavaConstant().asLong() * indexScaling + displacement); } return this; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,21 +41,7 @@ protected final int[] keys; - /** - * Constructs a integer switch instruction. The keyProbabilities and keySuccessors array contain - * key.length + 1 entries, the last entry describes the default (fall through) case. - * - * @param value the instruction producing the value being switched on - * @param successors the list of successors - * @param keys the sorted list of keys - * @param keyProbabilities the probabilities of the keys - * @param keySuccessors the successor index for each key - */ - public static IntegerSwitchNode create(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) { - return new IntegerSwitchNode(value, successors, keys, keyProbabilities, keySuccessors); - } - - protected IntegerSwitchNode(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) { + public IntegerSwitchNode(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) { super(value, successors, keySuccessors, keyProbabilities); assert keySuccessors.length == keys.length + 1; assert keySuccessors.length == keyProbabilities.length; @@ -71,21 +57,7 @@ return true; } - /** - * Constructs a integer switch instruction. The keyProbabilities and keySuccessors array contain - * key.length + 1 entries, the last entry describes the default (fall through) case. - * - * @param value the instruction producing the value being switched on - * @param successorCount the number of successors - * @param keys the sorted list of keys - * @param keyProbabilities the probabilities of the keys - * @param keySuccessors the successor index for each key - */ - public static IntegerSwitchNode create(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) { - return new IntegerSwitchNode(value, successorCount, keys, keyProbabilities, keySuccessors); - } - - protected IntegerSwitchNode(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) { + public IntegerSwitchNode(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) { this(value, new BeginNode[successorCount], keys, keyProbabilities, keySuccessors); } @@ -199,7 +171,7 @@ } BeginNode[] successorsArray = newSuccessors.toArray(new BeginNode[newSuccessors.size()]); - IntegerSwitchNode newSwitch = graph().add(IntegerSwitchNode.create(value(), successorsArray, newKeys, newKeyProbabilities, newKeySuccessors)); + IntegerSwitchNode newSwitch = graph().add(new IntegerSwitchNode(value(), successorsArray, newKeys, newKeyProbabilities, newKeySuccessors)); ((FixedWithNextNode) predecessor()).setNext(newSwitch); GraphUtil.killWithUnusedFloatingInputs(this); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ protected final Kind readKind; protected final boolean compressible; - public static JavaReadNode create(Kind readKind, ValueNode object, LocationNode location, BarrierType barrierType, boolean compressible) { - return new JavaReadNode(readKind, object, location, barrierType, compressible); - } - - protected JavaReadNode(Kind readKind, ValueNode object, LocationNode location, BarrierType barrierType, boolean compressible) { + public JavaReadNode(Kind readKind, ValueNode object, LocationNode location, BarrierType barrierType, boolean compressible) { super(object, location, StampFactory.forKind(readKind), barrierType); this.readKind = readKind; this.compressible = compressible;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ protected final Kind writeKind; protected final boolean compressible; - public static JavaWriteNode create(Kind writeKind, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean compressible, boolean initialization) { - return new JavaWriteNode(writeKind, object, value, location, barrierType, compressible, initialization); - } - - protected JavaWriteNode(Kind writeKind, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean compressible, boolean initialization) { + public JavaWriteNode(Kind writeKind, ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean compressible, boolean initialization) { super(object, value, location, barrierType, initialization); this.writeKind = writeKind; this.compressible = compressible;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,21 +41,17 @@ return value; } - public static LoadHubNode create(@InjectedNodeParameter StampProvider stampProvider, ValueNode value) { - return new LoadHubNode(hubStamp(stampProvider, value), value, null); - } - - public static LoadHubNode create(@InjectedNodeParameter StampProvider stampProvider, ValueNode value, ValueNode guard) { - return new LoadHubNode(hubStamp(stampProvider, value), value, guard); - } - private static Stamp hubStamp(StampProvider stampProvider, ValueNode value) { assert value.stamp() instanceof ObjectStamp; return stampProvider.createHubStamp(((ObjectStamp) value.stamp())); } - protected LoadHubNode(Stamp stamp, ValueNode value, ValueNode guard) { - super(stamp, (GuardingNode) guard); + public LoadHubNode(@InjectedNodeParameter StampProvider stampProvider, ValueNode value) { + this(stampProvider, value, null); + } + + public LoadHubNode(@InjectedNodeParameter StampProvider stampProvider, ValueNode value, ValueNode guard) { + super(hubStamp(stampProvider, value), (GuardingNode) guard); assert value != guard; this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ return hub; } - public static LoadMethodNode create(@InjectedNodeParameter Stamp stamp, ResolvedJavaMethod method, ResolvedJavaType receiverType, ValueNode hub) { - return new LoadMethodNode(stamp, method, receiverType, hub); - } - - protected LoadMethodNode(Stamp stamp, ResolvedJavaMethod method, ResolvedJavaType receiverType, ValueNode hub) { + public LoadMethodNode(@InjectedNodeParameter Stamp stamp, ResolvedJavaMethod method, ResolvedJavaType receiverType, ValueNode hub) { super(stamp); this.receiverType = receiverType; this.hub = hub;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -28,7 +28,6 @@ import sun.misc.*; -import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.type.*; @@ -44,14 +43,7 @@ protected final int barriers; - /** - * @param barriers a mask of the barrier constants defined in {@link MemoryBarriers} - */ - public static MembarNode create(int barriers) { - return new MembarNode(barriers); - } - - protected MembarNode(int barriers) { + public MembarNode(int barriers) { super(StampFactory.forVoid()); this.barriers = barriers; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ @Input ValueNode object; - public static NullCheckNode create(ValueNode object) { - return new NullCheckNode(object); - } - - protected NullCheckNode(ValueNode object) { + public NullCheckNode(ValueNode object) { super(StampFactory.forVoid()); this.object = object; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -30,11 +30,7 @@ @NodeInfo(nameTemplate = "OSRLocal({p#index})") public class OSRLocalNode extends AbstractLocalNode implements IterableNodeType { - public static OSRLocalNode create(int index, Stamp stamp) { - return new OSRLocalNode(index, stamp); - } - - protected OSRLocalNode(int index, Stamp stamp) { + public OSRLocalNode(int index, Stamp stamp) { super(index, stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -29,11 +29,7 @@ @NodeInfo public class OSRStartNode extends StartNode implements Lowerable { - public static OSRStartNode create() { - return new OSRStartNode(); - } - - protected OSRStartNode() { + public OSRStartNode() { } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,35 +39,19 @@ @NodeInfo public class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, PiPushable, Virtualizable, GuardingNode { - public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { - return new ReadNode(object, location, stamp, barrierType); - } - - protected ReadNode(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { + public ReadNode(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) { super(object, location, stamp, null, barrierType); } - public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { - return new ReadNode(object, location, stamp, guard, barrierType); - } - - protected ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { + public ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) { super(object, location, stamp, guard, barrierType); } - public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { - return new ReadNode(object, location, stamp, guard, barrierType, nullCheck, stateBefore); - } - - protected ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { + public ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) { super(object, location, stamp, guard, barrierType, nullCheck, stateBefore); } - public static ReadNode create(ValueNode object, ValueNode location, ValueNode guard, BarrierType barrierType) { - return new ReadNode(object, location, guard, barrierType); - } - - protected ReadNode(ValueNode object, ValueNode location, ValueNode guard, BarrierType barrierType) { + public ReadNode(ValueNode object, ValueNode location, ValueNode guard, BarrierType barrierType) { /* * Used by node intrinsics. Really, you can trust me on that! Since the initial value for * location is a parameter, i.e., a ParameterNode, the constructor cannot use the declared @@ -88,14 +72,14 @@ if (usages().isEmpty()) { if (getGuard() != null && !(getGuard() instanceof FixedNode)) { // The guard is necessary even if the read goes away. - return ValueAnchorNode.create((ValueNode) getGuard()); + return new ValueAnchorNode((ValueNode) getGuard()); } else { // Read without usages or guard can be safely removed. return null; } } if (object() instanceof PiNode && ((PiNode) object()).getGuard() == getGuard()) { - return ReadNode.create(((PiNode) object()).getOriginalNode(), location(), stamp(), getGuard(), getBarrierType(), getNullCheck(), stateBefore()); + return new ReadNode(((PiNode) object()).getOriginalNode(), location(), stamp(), getGuard(), getBarrierType(), getNullCheck(), stateBefore()); } if (!getNullCheck()) { return canonicalizeRead(this, location(), object(), tool); @@ -108,7 +92,7 @@ @Override public FloatingAccessNode asFloatingNode(MemoryNode lastLocationAccess) { - return graph().unique(FloatingReadNode.create(object(), location(), lastLocationAccess, stamp(), getGuard(), getBarrierType())); + return graph().unique(new FloatingReadNode(object(), location(), lastLocationAccess, stamp(), getGuard(), getBarrierType())); } @Override
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ return object; } - public static StoreHubNode create(ValueNode object, ValueNode value) { - return new StoreHubNode(object, value); - } - - protected StoreHubNode(ValueNode object, ValueNode value) { + public StoreHubNode(ValueNode object, ValueNode value) { super(StampFactory.forVoid()); this.value = value; this.object = object;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ protected final Kind boxingKind; - public static UnboxNode create(ValueNode value, Kind boxingKind) { - return new UnboxNode(value, boxingKind); - } - - protected UnboxNode(ValueNode value, Kind boxingKind) { + public UnboxNode(ValueNode value, Kind boxingKind) { super(StampFactory.forKind(boxingKind.getStackKind()), value); this.boxingKind = boxingKind; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,29 +42,17 @@ @Input ValueNode object; - public static UnsafeCastNode create(ValueNode object, Stamp stamp) { - return new UnsafeCastNode(object, stamp); - } - - protected UnsafeCastNode(ValueNode object, Stamp stamp) { + public UnsafeCastNode(ValueNode object, Stamp stamp) { super(stamp); this.object = object; } - public static UnsafeCastNode create(ValueNode object, Stamp stamp, ValueNode anchor) { - return new UnsafeCastNode(object, stamp, anchor); - } - - protected UnsafeCastNode(ValueNode object, Stamp stamp, ValueNode anchor) { + public UnsafeCastNode(ValueNode object, Stamp stamp, ValueNode anchor) { super(stamp, (GuardingNode) anchor); this.object = object; } - public static UnsafeCastNode create(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { - return new UnsafeCastNode(object, toType, exactType, nonNull); - } - - protected UnsafeCastNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { + public UnsafeCastNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) { this(object, toType.getKind() == Kind.Object ? StampFactory.object(toType, exactType, nonNull || StampTool.isPointerNonNull(object.stamp()), true) : StampFactory.forKind(toType.getKind())); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,19 +39,11 @@ public class UnsafeLoadNode extends UnsafeAccessNode implements Lowerable, Virtualizable { @OptionalInput(InputType.Condition) LogicNode guardingCondition; - public static UnsafeLoadNode create(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { - return new UnsafeLoadNode(object, offset, accessKind, locationIdentity); - } - - protected UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { + public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) { this(object, offset, accessKind, locationIdentity, null); } - public static UnsafeLoadNode create(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) { - return new UnsafeLoadNode(object, offset, accessKind, locationIdentity, condition); - } - - protected UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) { + public UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) { super(StampFactory.forKind(accessKind.getStackKind()), object, offset, accessKind, locationIdentity); this.guardingCondition = condition; } @@ -85,12 +77,12 @@ @Override protected ValueNode cloneAsFieldAccess(ResolvedJavaField field) { - return LoadFieldNode.create(object(), field); + return new LoadFieldNode(object(), field); } @Override protected ValueNode cloneAsArrayAccess(ValueNode location, LocationIdentity identity) { - return UnsafeLoadNode.create(object(), location, accessKind(), identity, guardingCondition); + return new UnsafeLoadNode(object(), location, accessKind(), identity, guardingCondition); } @SuppressWarnings({"unchecked", "unused"})
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,19 +41,11 @@ @Input ValueNode value; @OptionalInput(InputType.State) FrameState stateAfter; - public static UnsafeStoreNode create(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) { - return new UnsafeStoreNode(object, offset, value, accessKind, locationIdentity); - } - - protected UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) { + public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) { this(object, offset, value, accessKind, locationIdentity, null); } - public static UnsafeStoreNode create(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { - return new UnsafeStoreNode(object, offset, value, accessKind, locationIdentity, stateAfter); - } - - protected UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { + public UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) { super(StampFactory.forVoid(), object, offset, accessKind, locationIdentity); this.value = value; this.stateAfter = stateAfter; @@ -117,12 +109,12 @@ @Override protected ValueNode cloneAsFieldAccess(ResolvedJavaField field) { - return StoreFieldNode.create(object(), field, value(), stateAfter()); + return new StoreFieldNode(object(), field, value(), stateAfter()); } @Override protected ValueNode cloneAsArrayAccess(ValueNode location, LocationIdentity identity) { - return UnsafeStoreNode.create(object(), location, value, accessKind(), identity, stateAfter()); + return new UnsafeStoreNode(object(), location, value, accessKind(), identity, stateAfter()); } public FrameState getState() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @OptionalInput(InputType.Guard) ValueNode anchored; - public static ValueAnchorNode create(ValueNode value) { - return new ValueAnchorNode(value); - } - - protected ValueAnchorNode(ValueNode value) { + public ValueAnchorNode(ValueNode value) { super(StampFactory.forVoid()); this.anchored = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,27 +36,15 @@ @NodeInfo public class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable { - public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { - return new WriteNode(object, value, location, barrierType); - } - - protected WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { + public WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) { super(object, value, location, barrierType); } - public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) { - return new WriteNode(object, value, location, barrierType, initialization); - } - - protected WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) { + public WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) { super(object, value, location, barrierType, initialization); } - public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) { - return new WriteNode(object, value, location, barrierType, guard, initialization); - } - - protected WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) { + public WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) { super(object, value, location, barrierType, guard, initialization); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,18 +41,7 @@ return length; } - /** - * Constructs a new AbstractNewArrayNode. - * - * @param stamp the stamp of the newly created array - * @param length the node that produces the length for this allocation. - * @param fillContents determines whether the array elements should be initialized to zero/null. - */ - public static AbstractNewArrayNode create(Stamp stamp, ValueNode length, boolean fillContents) { - return new AbstractNewArrayNode(stamp, length, fillContents); - } - - protected AbstractNewArrayNode(Stamp stamp, ValueNode length, boolean fillContents) { + public AbstractNewArrayNode(Stamp stamp, ValueNode length, boolean fillContents) { super(stamp, fillContents); this.length = length; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,17 +40,7 @@ protected final boolean fillContents; - /** - * Constructs a new AbstractNewObjectNode. - * - * @param stamp the stamp of the newly created object - * @param fillContents determines if the object's contents should be initialized to zero/null. - */ - public static AbstractNewObjectNode create(Stamp stamp, boolean fillContents) { - return new AbstractNewObjectNode(stamp, fillContents); - } - - protected AbstractNewObjectNode(Stamp stamp, boolean fillContents) { + public AbstractNewObjectNode(Stamp stamp, boolean fillContents) { super(stamp); this.fillContents = fillContents; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,11 +46,7 @@ return array; } - public static ArrayLengthNode create(ValueNode array) { - return new ArrayLengthNode(array); - } - - protected ArrayLengthNode(ValueNode array) { + public ArrayLengthNode(ValueNode array) { super(StampFactory.positiveInt()); this.array = array; } @@ -77,7 +73,7 @@ } if (originalValue instanceof ValueProxyNode) { ValueProxyNode proxy = (ValueProxyNode) originalValue; - return ValueProxyNode.create(reproxyValue(proxy.getOriginalNode(), value), proxy.proxyPoint()); + return new ValueProxyNode(reproxyValue(proxy.getOriginalNode(), value), proxy.proxyPoint()); } else if (originalValue instanceof ValueProxy) { ValueProxy proxy = (ValueProxy) originalValue; return reproxyValue(proxy.getOriginalNode(), value);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected final LocationIdentity locationIdentity; - public static AtomicReadAndAddNode create(ValueNode object, ValueNode offset, ValueNode delta, LocationIdentity locationIdentity) { - return new AtomicReadAndAddNode(object, offset, delta, locationIdentity); - } - - protected AtomicReadAndAddNode(ValueNode object, ValueNode offset, ValueNode delta, LocationIdentity locationIdentity) { + public AtomicReadAndAddNode(ValueNode object, ValueNode offset, ValueNode delta, LocationIdentity locationIdentity) { super(StampFactory.forKind(delta.getKind())); this.object = object; this.offset = offset; @@ -73,7 +69,7 @@ } public void generate(NodeLIRBuilderTool gen) { - LocationNode location = IndexedLocationNode.create(getLocationIdentity(), 0, offset, graph(), 1); + LocationNode location = graph().unique(new IndexedLocationNode(getLocationIdentity(), 0, offset, 1)); Value address = location.generateAddress(gen, gen.getLIRGeneratorTool(), gen.operand(object())); Value result = gen.getLIRGeneratorTool().emitAtomicReadAndAdd(address, gen.operand(delta)); gen.setResult(this, result);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,11 +46,7 @@ protected final Kind valueKind; protected final LocationIdentity locationIdentity; - public static AtomicReadAndWriteNode create(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { - return new AtomicReadAndWriteNode(object, offset, newValue, valueKind, locationIdentity); - } - - protected AtomicReadAndWriteNode(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { + public AtomicReadAndWriteNode(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { super(StampFactory.forKind(newValue.getKind())); this.object = object; this.offset = offset;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,15 +45,7 @@ */ protected final boolean forStoreCheck; - /** - * @param hub the type being cast to - * @param object the object being cast - */ - public static CheckCastDynamicNode create(ValueNode hub, ValueNode object, boolean forStoreCheck) { - return new CheckCastDynamicNode(hub, object, forStoreCheck); - } - - protected CheckCastDynamicNode(ValueNode hub, ValueNode object, boolean forStoreCheck) { + public CheckCastDynamicNode(ValueNode hub, ValueNode object, boolean forStoreCheck) { super(object.stamp()); this.hub = hub; this.object = object; @@ -101,7 +93,7 @@ if (forHub.isConstant()) { ResolvedJavaType t = tool.getConstantReflection().asJavaType(forHub.asConstant()); if (t != null) { - return CheckCastNode.create(t, forObject, null, forStoreCheck); + return new CheckCastNode(t, forObject, null, forStoreCheck); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -53,17 +53,7 @@ */ protected final boolean forStoreCheck; - /** - * Creates a new CheckCast instruction. - * - * @param type the type being cast to - * @param object the instruction producing the object - */ - public static CheckCastNode create(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) { - return new CheckCastNode(type, object, profile, forStoreCheck); - } - - protected CheckCastNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) { + public CheckCastNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) { super(StampFactory.declaredTrusted(type)); assert type != null; this.type = type; @@ -115,12 +105,12 @@ condition = LogicConstantNode.contradiction(graph()); newStamp = StampFactory.declaredTrusted(type); } else if (StampTool.isPointerNonNull(object)) { - condition = graph().addWithoutUnique(InstanceOfNode.create(type, object, profile)); + condition = graph().addWithoutUnique(new InstanceOfNode(type, object, profile)); } else { if (profile != null && profile.getNullSeen() == TriState.FALSE) { - FixedGuardNode nullCheck = graph().add(FixedGuardNode.create(graph().unique(IsNullNode.create(object)), UnreachedCode, InvalidateReprofile, true)); - PiNode nullGuarded = graph().unique(PiNode.create(object, object().stamp().join(StampFactory.objectNonNull()), nullCheck)); - InstanceOfNode typeTest = graph().addWithoutUnique(InstanceOfNode.create(type, nullGuarded, profile)); + FixedGuardNode nullCheck = graph().add(new FixedGuardNode(graph().unique(new IsNullNode(object)), UnreachedCode, InvalidateReprofile, true)); + PiNode nullGuarded = graph().unique(new PiNode(object, object().stamp().join(StampFactory.objectNonNull()), nullCheck)); + InstanceOfNode typeTest = graph().addWithoutUnique(new InstanceOfNode(type, nullGuarded, profile)); graph().addBeforeFixed(this, nullCheck); condition = typeTest; /* @@ -134,11 +124,11 @@ } else { // TODO (ds) replace with probability of null-seen when available double shortCircuitProbability = NOT_FREQUENT_PROBABILITY; - InstanceOfNode typeTest = graph().addWithoutUnique(InstanceOfNode.create(type, object, profile)); - condition = LogicNode.or(graph().unique(IsNullNode.create(object)), typeTest, shortCircuitProbability); + InstanceOfNode typeTest = graph().addWithoutUnique(new InstanceOfNode(type, object, profile)); + condition = LogicNode.or(graph().unique(new IsNullNode(object)), typeTest, shortCircuitProbability); } } - GuardingPiNode checkedObject = graph().add(GuardingPiNode.create(theValue, condition, false, forStoreCheck ? ArrayStoreException : ClassCastException, InvalidateReprofile, newStamp)); + GuardingPiNode checkedObject = graph().add(new GuardingPiNode(theValue, condition, false, forStoreCheck ? ArrayStoreException : ClassCastException, InvalidateReprofile, newStamp)); graph().replaceFixedWithFixed(this, checkedObject); checkedObject.lower(tool); } @@ -170,7 +160,7 @@ if (exactType != null && !exactType.equals(type)) { // Propagate more precise type information to usages of the checkcast. tool.assumptions().recordConcreteSubtype(type, exactType); - return CheckCastNode.create(exactType, object, profile, forStoreCheck); + return new CheckCastNode(exactType, object, profile, forStoreCheck); } } @@ -185,7 +175,7 @@ CheckCastNode ccn = (CheckCastNode) predecessor(); if (ccn != null && ccn.type != null && ccn == object && ccn.forStoreCheck == forStoreCheck && ccn.type.isAssignableFrom(type)) { StructuredGraph graph = ccn.graph(); - CheckCastNode newccn = graph.add(CheckCastNode.create(type, ccn.object, ccn.profile, ccn.forStoreCheck)); + CheckCastNode newccn = graph.add(new CheckCastNode(type, ccn.object, ccn.profile, ccn.forStoreCheck)); graph.replaceFixedWithFixed(ccn, newccn); replaceAtUsages(newccn); graph.removeFixed(this);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -46,11 +46,7 @@ protected final Kind valueKind; protected final LocationIdentity locationIdentity; - public static CompareAndSwapNode create(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { - return new CompareAndSwapNode(object, offset, expected, newValue, valueKind, locationIdentity); - } - - protected CompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { + public CompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) { super(StampFactory.forKind(Kind.Boolean.getStackKind())); assert expected.stamp().isCompatible(newValue.stamp()); this.object = object;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,19 +48,11 @@ */ protected final Kind knownElementKind; - public static DynamicNewArrayNode create(ValueNode elementType, ValueNode length) { - return new DynamicNewArrayNode(elementType, length); - } - - protected DynamicNewArrayNode(ValueNode elementType, ValueNode length) { + public DynamicNewArrayNode(ValueNode elementType, ValueNode length) { this(elementType, length, true, null); } - public static DynamicNewArrayNode create(ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { - return new DynamicNewArrayNode(elementType, length, fillContents, knownElementKind); - } - - protected DynamicNewArrayNode(ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { + public DynamicNewArrayNode(ValueNode elementType, ValueNode length, boolean fillContents, Kind knownElementKind) { super(StampFactory.objectNonNull(), length, fillContents); this.elementType = elementType; this.knownElementKind = knownElementKind; @@ -76,7 +68,7 @@ protected NewArrayNode forConstantType(ResolvedJavaType type) { ValueNode len = length(); - NewArrayNode ret = graph().add(NewArrayNode.create(type, len.isAlive() ? len : graph().addOrUniqueWithInputs(len), fillContents())); + NewArrayNode ret = graph().add(new NewArrayNode(type, len.isAlive() ? len : graph().addOrUniqueWithInputs(len), fillContents())); if (stateBefore() != null) { ret.setStateBefore(stateBefore()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @Input ValueNode clazz; - public static DynamicNewInstanceNode create(ValueNode clazz, boolean fillContents) { - return new DynamicNewInstanceNode(clazz, fillContents); - } - - protected DynamicNewInstanceNode(ValueNode clazz, boolean fillContents) { + public DynamicNewInstanceNode(ValueNode clazz, boolean fillContents) { super(StampFactory.objectNonNull(), fillContents); this.clazz = clazz; } @@ -48,7 +44,7 @@ if (clazz.isConstant()) { ResolvedJavaType type = tool.getConstantReflection().asJavaType(clazz.asConstant()); if (type != null && type.isInitialized() && !type.isArray() && !type.isInterface() && !type.isPrimitive()) { - return NewInstanceNode.create(type, fillContents()); + return new NewInstanceNode(type, fillContents()); } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -36,11 +36,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Memory}) public class ExceptionObjectNode extends DispatchBeginNode implements Lowerable, MemoryCheckpoint.Single { - public static ExceptionObjectNode create(MetaAccessProvider metaAccess) { - return new ExceptionObjectNode(metaAccess); - } - - protected ExceptionObjectNode(MetaAccessProvider metaAccess) { + public ExceptionObjectNode(MetaAccessProvider metaAccess) { super(StampFactory.declaredNonNull(metaAccess.lookupJavaType(Throwable.class))); } @@ -57,8 +53,8 @@ * deopts can float in between the begin node and the load exception node. */ LocationIdentity locationsKilledByInvoke = ((InvokeWithExceptionNode) predecessor()).getLocationIdentity(); - BeginNode entry = graph().add(KillingBeginNode.create(locationsKilledByInvoke)); - LoadExceptionObjectNode loadException = graph().add(LoadExceptionObjectNode.create(stamp())); + BeginNode entry = graph().add(new KillingBeginNode(locationsKilledByInvoke)); + LoadExceptionObjectNode loadException = graph().add(new LoadExceptionObjectNode(stamp())); loadException.setStateAfter(stateAfter()); replaceAtUsages(InputType.Value, loadException);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,15 +40,7 @@ @Input ValueNode object; @Input ValueNode mirror; - /** - * @param mirror the {@link Class} value representing the target target type of the test - * @param object the object being tested - */ - public static InstanceOfDynamicNode create(ValueNode mirror, ValueNode object) { - return new InstanceOfDynamicNode(mirror, object); - } - - protected InstanceOfDynamicNode(ValueNode mirror, ValueNode object) { + public InstanceOfDynamicNode(ValueNode mirror, ValueNode object) { this.mirror = mirror; this.object = object; assert mirror.getKind() == Kind.Object : mirror.getKind(); @@ -68,7 +60,7 @@ if (t.isPrimitive()) { return LogicConstantNode.contradiction(); } else { - return InstanceOfNode.create(t, forObject, null); + return new InstanceOfNode(t, forObject, null); } } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,17 +39,7 @@ protected final ResolvedJavaType type; protected JavaTypeProfile profile; - /** - * Constructs a new InstanceOfNode. - * - * @param type the target type of the instanceof check - * @param object the object being tested by the instanceof - */ - public static InstanceOfNode create(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile) { - return new InstanceOfNode(type, object, profile); - } - - protected InstanceOfNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile) { + public InstanceOfNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile) { super(object); this.type = type; this.profile = profile; @@ -117,7 +107,7 @@ if (!nonNull) { // the instanceof matches if the object is non-null, so return true // depending on the null-ness. - return LogicNegationNode.create(IsNullNode.create(forValue)); + return new LogicNegationNode(new IsNullNode(forValue)); } } return null;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -30,11 +30,7 @@ @NodeInfo public class LoadExceptionObjectNode extends AbstractStateSplit implements Lowerable { - public static LoadExceptionObjectNode create(Stamp stamp) { - return new LoadExceptionObjectNode(stamp); - } - - protected LoadExceptionObjectNode(Stamp stamp) { + public LoadExceptionObjectNode(Stamp stamp) { super(stamp); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,17 +39,7 @@ @NodeInfo(nameTemplate = "LoadField#{p#field/s}") public class LoadFieldNode extends AccessFieldNode implements Canonicalizable.Unary<ValueNode>, VirtualizableRoot, UncheckedInterfaceProvider { - /** - * Creates a new LoadFieldNode instance. - * - * @param object the receiver object - * @param field the compiler interface field - */ - public static LoadFieldNode create(ValueNode object, ResolvedJavaField field) { - return new LoadFieldNode(object, field); - } - - protected LoadFieldNode(ValueNode object, ResolvedJavaField field) { + public LoadFieldNode(ValueNode object, ResolvedJavaField field) { super(createStamp(field), object, field); } @@ -83,7 +73,7 @@ } } if (!isStatic() && forObject.isNullConstant()) { - return DeoptimizeNode.create(DeoptimizationAction.None, DeoptimizationReason.NullCheckException); + return new DeoptimizeNode(DeoptimizationAction.None, DeoptimizationReason.NullCheckException); } return this; } @@ -119,7 +109,7 @@ for (int i = 0; i < phi.valueCount(); i++) { constantNodes[i] = ConstantNode.forConstant(constants[i], metaAccess); } - return ValuePhiNode.create(stamp(), phi.merge(), constantNodes); + return new ValuePhiNode(stamp(), phi.merge(), constantNodes); } return null; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,8 +44,8 @@ * @param index the instruction producing the index * @param elementKind the element type */ - public static LoadIndexedNode create(ValueNode array, ValueNode index, Kind elementKind) { - return new LoadIndexedNode(createStamp(array, elementKind), array, index, elementKind); + public LoadIndexedNode(ValueNode array, ValueNode index, Kind elementKind) { + this(createStamp(array, elementKind), array, index, elementKind); } protected LoadIndexedNode(Stamp stamp, ValueNode array, ValueNode index, Kind elementKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @Input ValueNode newValue; @OptionalInput(InputType.State) FrameState stateAfter; - public static LoweredAtomicReadAndWriteNode create(ValueNode object, LocationNode location, ValueNode newValue, BarrierType barrierType) { - return new LoweredAtomicReadAndWriteNode(object, location, newValue, barrierType); - } - - protected LoweredAtomicReadAndWriteNode(ValueNode object, LocationNode location, ValueNode newValue, BarrierType barrierType) { + public LoweredAtomicReadAndWriteNode(ValueNode object, LocationNode location, ValueNode newValue, BarrierType barrierType) { super(object, location, newValue.stamp().unrestricted(), barrierType); this.newValue = newValue; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -61,11 +61,7 @@ return newValue; } - public static LoweredCompareAndSwapNode create(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) { - return new LoweredCompareAndSwapNode(object, location, expectedValue, newValue, barrierType); - } - - protected LoweredCompareAndSwapNode(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) { + public LoweredCompareAndSwapNode(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) { super(object, location, StampFactory.forKind(Kind.Boolean.getStackKind()), barrierType); assert expectedValue.getKind() == newValue.getKind(); this.expectedValue = expectedValue;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,14 +35,7 @@ public class MethodCallTargetNode extends CallTargetNode implements IterableNodeType, Simplifiable { protected final JavaType returnType; - /** - * @param arguments - */ - public static MethodCallTargetNode create(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { - return new MethodCallTargetNode(invokeKind, targetMethod, arguments, returnType); - } - - protected MethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { + public MethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { super(arguments, targetMethod, invokeKind); this.returnType = returnType; } @@ -190,11 +183,11 @@ * an assumption but as we need an instanceof check anyway we can verify both * properties by checking of the receiver is an instance of the single implementor. */ - LogicNode condition = graph().unique(InstanceOfNode.create(singleImplementor, receiver, getProfile())); + LogicNode condition = graph().unique(new InstanceOfNode(singleImplementor, receiver, getProfile())); GuardNode guard = graph().unique( - GuardNode.create(condition, BeginNode.prevBegin(invoke().asNode()), DeoptimizationReason.OptimizedTypeCheckViolated, DeoptimizationAction.InvalidateRecompile, false, + new GuardNode(condition, BeginNode.prevBegin(invoke().asNode()), DeoptimizationReason.OptimizedTypeCheckViolated, DeoptimizationAction.InvalidateRecompile, false, JavaConstant.NULL_POINTER)); - PiNode piNode = graph().unique(PiNode.create(receiver, StampFactory.declaredNonNull(singleImplementor), guard)); + PiNode piNode = graph().unique(new PiNode(receiver, StampFactory.declaredNonNull(singleImplementor), guard)); arguments().set(0, piNode); setInvokeKind(InvokeKind.Virtual); setTargetMethod(singleImplementorMethod);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,16 +35,7 @@ @NodeInfo public class MonitorEnterNode extends AccessMonitorNode implements Virtualizable, Lowerable, IterableNodeType, MonitorEnter, MemoryCheckpoint.Single { - /** - * Creates a new MonitorEnterNode. - * - * @param object the instruction producing the object - */ - public static MonitorEnterNode create(ValueNode object, MonitorIdNode monitorId) { - return new MonitorEnterNode(object, monitorId); - } - - protected MonitorEnterNode(ValueNode object, MonitorIdNode monitorId) { + public MonitorEnterNode(ValueNode object, MonitorIdNode monitorId) { super(object, monitorId); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,14 +41,7 @@ @OptionalInput ValueNode escapedReturnValue; - /** - * Creates a new MonitorExitNode. - */ - public static MonitorExitNode create(ValueNode object, MonitorIdNode monitorId, ValueNode escapedReturnValue) { - return new MonitorExitNode(object, monitorId, escapedReturnValue); - } - - protected MonitorExitNode(ValueNode object, MonitorIdNode monitorId, ValueNode escapedReturnValue) { + public MonitorExitNode(ValueNode object, MonitorIdNode monitorId, ValueNode escapedReturnValue) { super(object, monitorId); this.escapedReturnValue = escapedReturnValue; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ protected int lockDepth; - public static MonitorIdNode create(int lockDepth) { - return new MonitorIdNode(lockDepth); - } - - protected MonitorIdNode(int lockDepth) { + public MonitorIdNode(int lockDepth) { super(StampFactory.forVoid()); this.lockDepth = lockDepth; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,19 +40,7 @@ @NodeInfo public class NewArrayNode extends AbstractNewArrayNode implements VirtualizableAllocation { - /** - * Constructs a new NewArrayNode. - * - * @param elementType the the type of the elements of the newly created array (not the type of - * the array itself). - * @param length the node that produces the length for this allocation. - * @param fillContents determines whether the array elements should be initialized to zero/null. - */ - public static NewArrayNode create(ResolvedJavaType elementType, ValueNode length, boolean fillContents) { - return new NewArrayNode(elementType, length, fillContents); - } - - protected NewArrayNode(ResolvedJavaType elementType, ValueNode length, boolean fillContents) { + public NewArrayNode(ResolvedJavaType elementType, ValueNode length, boolean fillContents) { super(StampFactory.exactNonNull(elementType.getArrayClass()), length, fillContents); } @@ -90,7 +78,7 @@ } protected VirtualArrayNode createVirtualArrayNode(int constantLength) { - return VirtualArrayNode.create(elementType(), constantLength); + return new VirtualArrayNode(elementType(), constantLength); } /* Factored out in a separate method so that subclasses can override it. */
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,18 +40,7 @@ protected final ResolvedJavaType instanceClass; - /** - * Constructs a NewInstanceNode. - * - * @param type the class being allocated - * @param fillContents determines whether the new object's fields should be initialized to - * zero/null. - */ - public static NewInstanceNode create(ResolvedJavaType type, boolean fillContents) { - return new NewInstanceNode(type, fillContents); - } - - protected NewInstanceNode(ResolvedJavaType type, boolean fillContents) { + public NewInstanceNode(ResolvedJavaType type, boolean fillContents) { super(StampFactory.exactNonNull(type), fillContents); assert !type.isArray() && !type.isInterface() && !type.isPrimitive(); this.instanceClass = type; @@ -85,7 +74,7 @@ } protected VirtualInstanceNode createVirtualInstanceNode(boolean hasIdentity) { - return VirtualInstanceNode.create(instanceClass(), hasIdentity); + return new VirtualInstanceNode(instanceClass(), hasIdentity); } /* Factored out in a separate method so that subclasses can override it. */
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,17 +50,7 @@ return dimensions; } - /** - * Constructs a new NewMultiArrayNode. - * - * @param type the element type of the array - * @param dimensions the node which produce the dimensions for this array - */ - public static NewMultiArrayNode create(ResolvedJavaType type, ValueNode[] dimensions) { - return new NewMultiArrayNode(type, dimensions); - } - - protected NewMultiArrayNode(ResolvedJavaType type, ValueNode[] dimensions) { + public NewMultiArrayNode(ResolvedJavaType type, ValueNode[] dimensions) { super(StampFactory.exactNonNull(type)); this.type = type; this.dimensions = new NodeInputList<>(this, dimensions);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ @OptionalInput(InputType.State) FrameState deoptState; @Input ValueNode value; - public static RegisterFinalizerNode create(ValueNode value) { - return new RegisterFinalizerNode(value); - } - - protected RegisterFinalizerNode(ValueNode value) { + public RegisterFinalizerNode(ValueNode value) { super(StampFactory.forVoid()); this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,12 +44,7 @@ protected final JavaType replacementReturnType; @Input NodeInputList<ValueNode> replacementArguments; - public static SelfReplacingMethodCallTargetNode create(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, - ResolvedJavaMethod replacementTargetMethod, ValueNode[] replacementArguments, JavaType replacementReturnType) { - return new SelfReplacingMethodCallTargetNode(invokeKind, targetMethod, arguments, returnType, replacementTargetMethod, replacementArguments, replacementReturnType); - } - - protected SelfReplacingMethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, ResolvedJavaMethod replacementTargetMethod, + public SelfReplacingMethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, ResolvedJavaMethod replacementTargetMethod, ValueNode[] replacementArguments, JavaType replacementReturnType) { super(invokeKind, targetMethod, arguments, returnType); this.replacementTargetMethod = replacementTargetMethod; @@ -73,7 +68,7 @@ public void lower(LoweringTool tool) { InvokeKind replacementInvokeKind = replacementTargetMethod.isStatic() ? InvokeKind.Static : InvokeKind.Special; MethodCallTargetNode replacement = graph().add( - MethodCallTargetNode.create(replacementInvokeKind, replacementTargetMethod, replacementArguments.toArray(new ValueNode[replacementArguments.size()]), replacementReturnType)); + new MethodCallTargetNode(replacementInvokeKind, replacementTargetMethod, replacementArguments.toArray(new ValueNode[replacementArguments.size()]), replacementReturnType)); // Replace myself... this.replaceAndDelete(replacement);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -56,27 +56,12 @@ return value; } - /** - * Creates a new StoreFieldNode. - * - * @param object the receiver object - * @param field the compiler interface field - * @param value the node representing the value to store to the field - */ - public static StoreFieldNode create(ValueNode object, ResolvedJavaField field, ValueNode value) { - return new StoreFieldNode(object, field, value); - } - - protected StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value) { + public StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value) { super(StampFactory.forVoid(), object, field); this.value = value; } - public static StoreFieldNode create(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) { - return new StoreFieldNode(object, field, value, stateAfter); - } - - protected StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) { + public StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) { super(StampFactory.forVoid(), object, field); this.value = value; this.stateAfter = stateAfter;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -56,19 +56,7 @@ return value; } - /** - * Creates a new StoreIndexedNode. - * - * @param array the node producing the array - * @param index the node producing the index - * @param elementKind the element type - * @param value the value to store into the array - */ - public static StoreIndexedNode create(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { - return new StoreIndexedNode(array, index, elementKind, value); - } - - protected StoreIndexedNode(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { + public StoreIndexedNode(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) { super(StampFactory.forVoid(), array, index, elementKind); this.value = value; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,21 +42,7 @@ protected final ResolvedJavaType[] keys; - /** - * Constructs a type switch instruction. The keyProbabilities array contain key.length + 1 - * entries. The last entry in every array describes the default case. - * - * @param value the instruction producing the value being switched on, the object hub - * @param successors the list of successors - * @param keys the list of types - * @param keyProbabilities the probabilities of the keys - * @param keySuccessors the successor index for each key - */ - public static TypeSwitchNode create(ValueNode value, BeginNode[] successors, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) { - return new TypeSwitchNode(value, successors, keys, keyProbabilities, keySuccessors); - } - - protected TypeSwitchNode(ValueNode value, BeginNode[] successors, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) { + public TypeSwitchNode(ValueNode value, BeginNode[] successors, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) { super(value, successors, keySuccessors, keyProbabilities); assert successors.length <= keys.length + 1; assert keySuccessors.length == keyProbabilities.length; @@ -205,7 +191,7 @@ } BeginNode[] successorsArray = newSuccessors.toArray(new BeginNode[newSuccessors.size()]); - TypeSwitchNode newSwitch = graph().add(TypeSwitchNode.create(value(), successorsArray, newKeys, newKeyProbabilities, newKeySuccessors)); + TypeSwitchNode newSwitch = graph().add(new TypeSwitchNode(value(), successorsArray, newKeys, newKeyProbabilities, newKeySuccessors)); ((FixedWithNextNode) predecessor()).setNext(newSwitch); GraphUtil.killWithUnusedFloatingInputs(this); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @Input VirtualObjectNode virtualObject; @Input(InputType.Extension) CommitAllocationNode commit; - public static AllocatedObjectNode create(VirtualObjectNode virtualObject) { - return new AllocatedObjectNode(virtualObject); - } - - protected AllocatedObjectNode(VirtualObjectNode virtualObject) { + public AllocatedObjectNode(VirtualObjectNode virtualObject) { super(StampFactory.exactNonNull(virtualObject.type())); this.virtualObject = virtualObject; }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -40,11 +40,7 @@ @Input(InputType.Association) NodeInputList<MonitorIdNode> locks = new NodeInputList<>(this); protected ArrayList<Integer> lockIndexes = new ArrayList<>(Arrays.asList(0)); - public static CommitAllocationNode create() { - return new CommitAllocationNode(); - } - - protected CommitAllocationNode() { + public CommitAllocationNode() { super(StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,11 +35,7 @@ protected final ResolvedJavaType componentType; protected final int length; - public static VirtualArrayNode create(ResolvedJavaType componentType, int length) { - return new VirtualArrayNode(componentType, length); - } - - protected VirtualArrayNode(ResolvedJavaType componentType, int length) { + public VirtualArrayNode(ResolvedJavaType componentType, int length) { super(componentType.getArrayClass(), true); this.componentType = componentType; this.length = length; @@ -141,12 +137,12 @@ @Override public VirtualArrayNode duplicate() { - return VirtualArrayNode.create(componentType, length); + return new VirtualArrayNode(componentType, length); } @Override public ValueNode getMaterializedRepresentation(FixedNode fixed, ValueNode[] entries, LockState locks) { - return AllocatedObjectNode.create(this); + return new AllocatedObjectNode(this); } public ValueNode length() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,11 +32,7 @@ protected final Kind boxingKind; - public static VirtualBoxingNode create(ResolvedJavaType type, Kind boxingKind) { - return new VirtualBoxingNode(type, boxingKind); - } - - protected VirtualBoxingNode(ResolvedJavaType type, Kind boxingKind) { + public VirtualBoxingNode(ResolvedJavaType type, Kind boxingKind) { super(type, false); this.boxingKind = boxingKind; } @@ -47,13 +43,13 @@ @Override public VirtualBoxingNode duplicate() { - return VirtualBoxingNode.create(type(), boxingKind); + return new VirtualBoxingNode(type(), boxingKind); } @Override public ValueNode getMaterializedRepresentation(FixedNode fixed, ValueNode[] entries, LockState locks) { assert entries.length == 1; assert locks == null; - return BoxNode.create(entries[0], type(), boxingKind); + return new BoxNode(entries[0], type(), boxingKind); } }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,19 +32,11 @@ protected final ResolvedJavaType type; protected final ResolvedJavaField[] fields; - public static VirtualInstanceNode create(ResolvedJavaType type, boolean hasIdentity) { - return new VirtualInstanceNode(type, hasIdentity); - } - - protected VirtualInstanceNode(ResolvedJavaType type, boolean hasIdentity) { + public VirtualInstanceNode(ResolvedJavaType type, boolean hasIdentity) { this(type, type.getInstanceFields(true), hasIdentity); } - public static VirtualInstanceNode create(ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) { - return new VirtualInstanceNode(type, fields, hasIdentity); - } - - protected VirtualInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) { + public VirtualInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) { super(type, hasIdentity); this.type = type; this.fields = fields; @@ -105,11 +97,11 @@ @Override public VirtualInstanceNode duplicate() { - return VirtualInstanceNode.create(type, fields, super.hasIdentity()); + return new VirtualInstanceNode(type, fields, super.hasIdentity()); } @Override public ValueNode getMaterializedRepresentation(FixedNode fixed, ValueNode[] entries, LockState locks) { - return AllocatedObjectNode.create(this); + return new AllocatedObjectNode(this); } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -699,9 +699,9 @@ PiNode piNode; if (isNull) { ConstantNode nullObject = ConstantNode.defaultForKind(Kind.Object, graph); - piNode = graph.unique(PiNode.create(nullObject, nullObject.stamp(), replacementAnchor.asNode())); + piNode = graph.unique(new PiNode(nullObject, nullObject.stamp(), replacementAnchor.asNode())); } else { - piNode = graph.unique(PiNode.create(object, StampFactory.declaredTrusted(type, nonNull), replacementAnchor.asNode())); + piNode = graph.unique(new PiNode(object, StampFactory.declaredTrusted(type, nonNull), replacementAnchor.asNode())); } checkCast.replaceAtUsages(piNode); graph.removeFixed(checkCast); @@ -753,7 +753,7 @@ if (replacement != null) { if (replacementAnchor != null && !(replacementAnchor instanceof BeginNode)) { - ValueAnchorNode anchor = graph.add(ValueAnchorNode.create(replacementAnchor.asNode())); + ValueAnchorNode anchor = graph.add(new ValueAnchorNode(replacementAnchor.asNode())); graph.addBeforeFixed(ifNode, anchor); } for (Node n : survivingSuccessor.usages().snapshot()) {
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -124,7 +124,7 @@ IfNode ifNode = (IfNode) deoptBegin.predecessor(); BeginNode otherBegin = ifNode.trueSuccessor(); LogicNode conditionNode = ifNode.condition(); - FixedGuardNode guard = graph.add(FixedGuardNode.create(conditionNode, deoptReason, deoptAction, deoptBegin == ifNode.trueSuccessor())); + FixedGuardNode guard = graph.add(new FixedGuardNode(conditionNode, deoptReason, deoptAction, deoptBegin == ifNode.trueSuccessor())); FixedWithNextNode pred = (FixedWithNextNode) ifNode.predecessor(); BeginNode survivingSuccessor; if (deoptBegin == ifNode.trueSuccessor()) { @@ -162,7 +162,7 @@ FixedNode next = deoptPred.next(); if (!(next instanceof DeoptimizeNode)) { - DeoptimizeNode newDeoptNode = graph.add(DeoptimizeNode.create(deoptAction, deoptReason)); + DeoptimizeNode newDeoptNode = graph.add(new DeoptimizeNode(deoptAction, deoptReason)); deoptPred.setNext(newDeoptNode); assert deoptPred == newDeoptNode.predecessor(); GraphUtil.killCFG(next);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -54,12 +54,12 @@ } MergeNode merge; if (target instanceof AbstractDeoptimizeNode) { - merge = graph.add(MergeNode.create()); - EndNode firstEnd = graph.add(EndNode.create()); + merge = graph.add(new MergeNode()); + EndNode firstEnd = graph.add(new EndNode()); ValueNode actionAndReason = ((AbstractDeoptimizeNode) target).getActionAndReason(context.getMetaAccess()); ValueNode speculation = ((AbstractDeoptimizeNode) target).getSpeculation(context.getMetaAccess()); - reasonActionPhi = graph.addWithoutUnique(ValuePhiNode.create(StampFactory.forKind(actionAndReason.getKind()), merge)); - speculationPhi = graph.addWithoutUnique(ValuePhiNode.create(StampFactory.forKind(speculation.getKind()), merge)); + reasonActionPhi = graph.addWithoutUnique(new ValuePhiNode(StampFactory.forKind(actionAndReason.getKind()), merge)); + speculationPhi = graph.addWithoutUnique(new ValuePhiNode(StampFactory.forKind(speculation.getKind()), merge)); merge.addForwardEnd(firstEnd); reasonActionPhi.addInput(actionAndReason); speculationPhi.addInput(speculation); @@ -67,14 +67,14 @@ exitLoops((AbstractDeoptimizeNode) target, firstEnd, cfg); - merge.setNext(graph.add(DynamicDeoptimizeNode.create(reasonActionPhi, speculationPhi))); + merge.setNext(graph.add(new DynamicDeoptimizeNode(reasonActionPhi, speculationPhi))); obsoletes = new LinkedList<>(); obsoletes.add((AbstractDeoptimizeNode) target); target = merge; } else { merge = (MergeNode) target; } - EndNode newEnd = graph.add(EndNode.create()); + EndNode newEnd = graph.add(new EndNode()); merge.addForwardEnd(newEnd); reasonActionPhi.addInput(deopt.getActionAndReason(context.getMetaAccess())); speculationPhi.addInput(deopt.getSpeculation(context.getMetaAccess())); @@ -96,7 +96,7 @@ Block block = cfg.blockFor(deopt); Loop<Block> loop = block.getLoop(); while (loop != null) { - end.graph().addBeforeFixed(end, end.graph().add(LoopExitNode.create((LoopBeginNode) loop.getHeader().getBeginNode()))); + end.graph().addBeforeFixed(end, end.graph().add(new LoopExitNode((LoopBeginNode) loop.getHeader().getBeginNode()))); loop = loop.getParent(); } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -72,16 +72,16 @@ } ifNode.clearSuccessors(); Graph graph = ifNode.graph(); - MergeNode trueTargetMerge = graph.add(MergeNode.create()); + MergeNode trueTargetMerge = graph.add(new MergeNode()); trueTargetMerge.setNext(trueTarget); - EndNode firstTrueEnd = graph.add(EndNode.create()); - EndNode secondTrueEnd = graph.add(EndNode.create()); + EndNode firstTrueEnd = graph.add(new EndNode()); + EndNode secondTrueEnd = graph.add(new EndNode()); trueTargetMerge.addForwardEnd(firstTrueEnd); trueTargetMerge.addForwardEnd(secondTrueEnd); BeginNode firstTrueTarget = BeginNode.begin(firstTrueEnd); BeginNode secondTrueTarget = BeginNode.begin(secondTrueEnd); - BeginNode secondIf = BeginNode.begin(graph.add(IfNode.create(y, yNegated ? falseTarget : secondTrueTarget, yNegated ? secondTrueTarget : falseTarget, secondIfProbability))); - IfNode firstIf = graph.add(IfNode.create(x, xNegated ? secondIf : firstTrueTarget, xNegated ? firstTrueTarget : secondIf, firstIfProbability)); + BeginNode secondIf = BeginNode.begin(graph.add(new IfNode(y, yNegated ? falseTarget : secondTrueTarget, yNegated ? secondTrueTarget : falseTarget, secondIfProbability))); + IfNode firstIf = graph.add(new IfNode(x, xNegated ? secondIf : firstTrueTarget, xNegated ? firstTrueTarget : secondIf, firstIfProbability)); ifNode.replaceAtPredecessor(firstIf); ifNode.safeDelete(); } @@ -90,8 +90,8 @@ ValueNode trueTarget = conditional.trueValue(); ValueNode falseTarget = conditional.falseValue(); Graph graph = conditional.graph(); - ConditionalNode secondConditional = graph.unique(ConditionalNode.create(y, yNegated ? falseTarget : trueTarget, yNegated ? trueTarget : falseTarget)); - ConditionalNode firstConditional = graph.unique(ConditionalNode.create(x, xNegated ? secondConditional : trueTarget, xNegated ? trueTarget : secondConditional)); + ConditionalNode secondConditional = graph.unique(new ConditionalNode(y, yNegated ? falseTarget : trueTarget, yNegated ? trueTarget : falseTarget)); + ConditionalNode firstConditional = graph.unique(new ConditionalNode(x, xNegated ? secondConditional : trueTarget, xNegated ? trueTarget : secondConditional)); conditional.replaceAndDelete(firstConditional); } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -186,7 +186,7 @@ } else { MemoryPhiNode phi = null; if (existingPhis == null || (phi = existingPhis.remove(key)) == null) { - phi = merge.graph().addWithoutUnique(MemoryPhiNode.create(merge, key)); + phi = merge.graph().addWithoutUnique(new MemoryPhiNode(merge, key)); } for (int j = 0; j < mergedStatesCount; j++) { phi.addInput(ValueNodeUtil.asNode(merged)); @@ -298,7 +298,7 @@ assert MemoryCheckpoint.TypeAssertion.correctType(node) : node; if (createMemoryMapNodes && node instanceof ReturnNode) { - ((ReturnNode) node).setMemoryMap(node.graph().unique(MemoryMapNode.create(state.lastMemorySnapshot))); + ((ReturnNode) node).setMemoryMap(node.graph().unique(new MemoryMapNode(state.lastMemorySnapshot))); } return state; } @@ -338,7 +338,7 @@ ValueAnchorNode anchor = null; GuardingNode guard = accessNode.getGuard(); if (guard != null) { - anchor = graph.add(ValueAnchorNode.create(guard.asNode())); + anchor = graph.add(new ValueAnchorNode(guard.asNode())); graph.addAfterFixed(accessNode, anchor); } graph.replaceFixedWithFloating(accessNode, floatingNode); @@ -392,7 +392,7 @@ for (LocationIdentity location : modifiedLocations) { if (!updateExistingPhis || !phis.containsKey(location)) { - MemoryPhiNode phi = loop.graph().addWithoutUnique(MemoryPhiNode.create(loop, location)); + MemoryPhiNode phi = loop.graph().addWithoutUnique(new MemoryPhiNode(loop, location)); phi.addInput(ValueNodeUtil.asNode(initialState.getLastLocationAccess(location))); phis.put(location, phi); }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -161,9 +161,9 @@ private void lowerToIf(GuardNode guard) { StructuredGraph graph = guard.graph(); - BeginNode fastPath = graph.add(BeginNode.create()); + BeginNode fastPath = graph.add(new BeginNode()); @SuppressWarnings("deprecation") - DeoptimizeNode deopt = graph.add(DeoptimizeNode.create(guard.action(), guard.reason(), useGuardIdAsDebugId ? guard.getId() : 0, guard.getSpeculation(), null)); + DeoptimizeNode deopt = graph.add(new DeoptimizeNode(guard.action(), guard.reason(), useGuardIdAsDebugId ? guard.getId() : 0, guard.getSpeculation(), null)); BeginNode deoptBranch = BeginNode.begin(deopt); BeginNode trueSuccessor; BeginNode falseSuccessor; @@ -175,7 +175,7 @@ trueSuccessor = fastPath; falseSuccessor = deoptBranch; } - IfNode ifNode = graph.add(IfNode.create(guard.condition(), trueSuccessor, falseSuccessor, trueSuccessor == fastPath ? 1 : 0)); + IfNode ifNode = graph.add(new IfNode(guard.condition(), trueSuccessor, falseSuccessor, trueSuccessor == fastPath ? 1 : 0)); guard.replaceAndDelete(fastPath); insert(ifNode, fastPath); } @@ -184,7 +184,7 @@ Loop<Block> loop = block.getLoop(); StructuredGraph graph = deopt.graph(); while (loop != null) { - LoopExitNode exit = graph.add(LoopExitNode.create((LoopBeginNode) loop.getHeader().getBeginNode())); + LoopExitNode exit = graph.add(new LoopExitNode((LoopBeginNode) loop.getHeader().getBeginNode())); graph.addBeforeFixed(deopt, exit); loop = loop.getParent(); }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoopSafepointInsertionPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoopSafepointInsertionPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,7 +37,7 @@ if (GenLoopSafepoints.getValue()) { for (LoopEndNode loopEndNode : graph.getNodes(LoopEndNode.class)) { if (loopEndNode.canSafepoint()) { - SafepointNode safepointNode = graph.add(SafepointNode.create()); + SafepointNode safepointNode = graph.add(new SafepointNode()); graph.addBeforeFixed(loopEndNode, safepointNode); } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -51,11 +51,7 @@ static class DummyGuardHandle extends ValueNode implements GuardedNode { @Input(InputType.Guard) GuardingNode guard; - public static DummyGuardHandle create(GuardingNode guard) { - return new DummyGuardHandle(guard); - } - - protected DummyGuardHandle(GuardingNode guard) { + public DummyGuardHandle(GuardingNode guard) { super(StampFactory.forVoid()); this.guard = guard; } @@ -146,15 +142,15 @@ } StructuredGraph graph = before.graph(); if (condition.graph().getGuardsStage().ordinal() >= StructuredGraph.GuardsStage.FIXED_DEOPTS.ordinal()) { - FixedGuardNode fixedGuard = graph.add(FixedGuardNode.create(condition, deoptReason, action, negated)); + FixedGuardNode fixedGuard = graph.add(new FixedGuardNode(condition, deoptReason, action, negated)); graph.addBeforeFixed(before, fixedGuard); - DummyGuardHandle handle = graph.add(DummyGuardHandle.create(fixedGuard)); + DummyGuardHandle handle = graph.add(new DummyGuardHandle(fixedGuard)); fixedGuard.lower(this); GuardingNode result = handle.getGuard(); handle.safeDelete(); return result; } else { - GuardNode newGuard = graph.unique(GuardNode.create(condition, guardAnchor, deoptReason, action, negated, JavaConstant.NULL_POINTER)); + GuardNode newGuard = graph.unique(new GuardNode(condition, guardAnchor, deoptReason, action, negated, JavaConstant.NULL_POINTER)); if (OptEliminateGuards.getValue()) { activeGuards.markAndGrow(newGuard); } @@ -347,7 +343,7 @@ // FixedWithNextNode is followed by some kind of BeginNode. // For example the when a FixedGuard followed by a loop exit is lowered to a // control-split + deopt. - BeginNode begin = node.graph().add(BeginNode.create()); + BeginNode begin = node.graph().add(new BeginNode()); nextLastFixed.replaceFirstSuccessor(nextNode, begin); begin.setNext(nextNode); nextLastFixed = begin;
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/OptimizeGuardAnchorsPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/OptimizeGuardAnchorsPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -110,7 +110,7 @@ if (otherGuards.size() == successorCount - 1) { BeginNode anchor = computeOptimalAnchor(cfg.get(), BeginNode.prevBegin(controlSplit)); - GuardNode newGuard = controlSplit.graph().unique(GuardNode.create(guard.condition(), anchor, guard.reason(), guard.action(), guard.isNegated(), guard.getSpeculation())); + GuardNode newGuard = controlSplit.graph().unique(new GuardNode(guard.condition(), anchor, guard.reason(), guard.action(), guard.isNegated(), guard.getSpeculation())); for (GuardNode otherGuard : otherGuards) { otherGuard.replaceAndDelete(newGuard); }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -62,13 +62,10 @@ @NodeInfo(allowedUsageTypes = {InputType.Guard, InputType.Anchor}) static class DummyAnchorNode extends FixedWithNextNode implements GuardingNode, AnchoringNode { - public static DummyAnchorNode create() { - return new DummyAnchorNode(); + public DummyAnchorNode() { + super(StampFactory.forVoid()); } - protected DummyAnchorNode() { - super(StampFactory.forVoid()); - } } /** @@ -341,7 +338,7 @@ * @return The new {@link ValueAnchorNode} that was created. */ private DummyAnchorNode addValueAnchor() { - DummyAnchorNode anchor = graph.add(DummyAnchorNode.create()); + DummyAnchorNode anchor = graph.add(new DummyAnchorNode()); graph.addAfterFixed(merge, anchor); merge.replaceAtUsages(InputType.Guard, anchor); merge.replaceAtUsages(InputType.Anchor, anchor); @@ -451,8 +448,8 @@ * @return The newly created end node. */ private AbstractEndNode createNewMerge(FixedNode successor, FrameState stateAfterMerge) { - MergeNode newBottomMerge = graph.add(MergeNode.create()); - AbstractEndNode newBottomEnd = graph.add(EndNode.create()); + MergeNode newBottomMerge = graph.add(new MergeNode()); + AbstractEndNode newBottomEnd = graph.add(new EndNode()); newBottomMerge.addForwardEnd(newBottomEnd); newBottomMerge.setStateAfter(stateAfterMerge); ((FixedWithNextNode) successor.predecessor()).setNext(newBottomEnd); @@ -526,7 +523,7 @@ ValueNode node = (ValueNode) duplicated; PhiNode newPhi = bottomPhis.get(node); if (newPhi == null) { - newPhi = graph.addWithoutUnique(ValuePhiNode.create(node.stamp().unrestricted(), newBottomMerge)); + newPhi = graph.addWithoutUnique(new ValuePhiNode(node.stamp().unrestricted(), newBottomMerge)); bottomPhis.put(node, newPhi); newPhi.addInput(node); }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -162,7 +162,7 @@ IsNullNode isNullNode = (IsNullNode) condition; BeginNode nonTrappingContinuation = ifNode.falseSuccessor(); BeginNode trappingContinuation = ifNode.trueSuccessor(); - NullCheckNode trappingNullCheck = deopt.graph().add(NullCheckNode.create(isNullNode.getValue())); + NullCheckNode trappingNullCheck = deopt.graph().add(new NullCheckNode(isNullNode.getValue())); trappingNullCheck.setStateBefore(deopt.stateBefore()); deopt.graph().replaceSplit(ifNode, trappingNullCheck, nonTrappingContinuation);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/BaseReduction.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/BaseReduction.java Mon Jan 12 20:39:04 2015 +0100 @@ -97,7 +97,7 @@ metricUnconditionalDeoptInserted.increment(); StructuredGraph graph = fixed.graph(); // have to insert a FixedNode other than a ControlSinkNode - FixedGuardNode buckStopsHere = graph.add(FixedGuardNode.create(falseConstant, deoptReason, DeoptimizationAction.None)); + FixedGuardNode buckStopsHere = graph.add(new FixedGuardNode(falseConstant, deoptReason, DeoptimizationAction.None)); if (goesBeforeFixed) { fixed.replaceAtPredecessor(buckStopsHere); } else {
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/CheckCastReduction.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/CheckCastReduction.java Mon Jan 12 20:39:04 2015 +0100 @@ -231,7 +231,7 @@ * (1 of 3) definitely-non-null */ // addWithoutUnique for the same reason as in CheckCastNode.lower() - condition = graph.addWithoutUnique(InstanceOfNode.create(toType, subject, profile)); + condition = graph.addWithoutUnique(new InstanceOfNode(toType, subject, profile)); reasoner.added.add(condition); resultStamp = FlowUtil.asNonNullStamp(resultStamp); // TODO fix in CheckCastNode.lower() @@ -240,15 +240,15 @@ /* * (2 of 3) null-not-seen-in-profiling */ - IsNullNode isNN = graph.unique(IsNullNode.create(subject)); + IsNullNode isNN = graph.unique(new IsNullNode(subject)); reasoner.added.add(isNN); - FixedGuardNode nullCheck = graph.add(FixedGuardNode.create(isNN, UnreachedCode, InvalidateReprofile, true)); + FixedGuardNode nullCheck = graph.add(new FixedGuardNode(isNN, UnreachedCode, InvalidateReprofile, true)); graph.addBeforeFixed(checkCast, nullCheck); // not calling wrapInPiNode() because we don't want to rememberSubstitution() - PiNode nonNullGuarded = graph.unique(PiNode.create(subject, FlowUtil.asNonNullStamp(subjectStamp), nullCheck)); + PiNode nonNullGuarded = graph.unique(new PiNode(subject, FlowUtil.asNonNullStamp(subjectStamp), nullCheck)); reasoner.added.add(nonNullGuarded); // addWithoutUnique for the same reason as in CheckCastNode.lower() - condition = graph.addWithoutUnique(InstanceOfNode.create(toType, nonNullGuarded, profile)); + condition = graph.addWithoutUnique(new InstanceOfNode(toType, nonNullGuarded, profile)); reasoner.added.add(condition); resultStamp = FlowUtil.asNonNullStamp(resultStamp); } else { @@ -256,9 +256,9 @@ * (3 of 3) runtime-null-check-needed */ // addWithoutUnique for the same reason as in CheckCastNode.lower() - InstanceOfNode typeTest = graph.addWithoutUnique(InstanceOfNode.create(toType, subject, profile)); + InstanceOfNode typeTest = graph.addWithoutUnique(new InstanceOfNode(toType, subject, profile)); reasoner.added.add(typeTest); - LogicNode nullTest = graph.unique(IsNullNode.create(subject)); + LogicNode nullTest = graph.unique(new IsNullNode(subject)); reasoner.added.add(nullTest); // TODO (ds) replace with probability of null-seen when available final double shortCircuitProbability = NOT_FREQUENT_PROBABILITY; @@ -271,7 +271,7 @@ * Add a cast-guard (checking only what needs to be checked) and a PiNode (to be used in * place of the CheckCastNode). */ - FixedGuardNode castGuard = graph.add(FixedGuardNode.create(condition, checkCast.isForStoreCheck() ? ArrayStoreException : ClassCastException, InvalidateReprofile)); + FixedGuardNode castGuard = graph.add(new FixedGuardNode(condition, checkCast.isForStoreCheck() ? ArrayStoreException : ClassCastException, InvalidateReprofile)); graph.addBeforeFixed(checkCast, castGuard); assert FlowUtil.isLegalObjectStamp(resultStamp); @@ -280,7 +280,7 @@ if (!FlowUtil.lacksUsages(checkCast)) { // not calling wrapInPiNode() because we don't want to rememberSubstitution() - PiNode checkedObject = graph.unique(PiNode.create(subject, resultStamp, castGuard)); + PiNode checkedObject = graph.unique(new PiNode(subject, resultStamp, castGuard)); reasoner.added.add(checkedObject); assert !precisionLoss(originalCheckCastObject, checkedObject); assert !precisionLoss(subject, checkedObject);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/EquationalReasoner.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/EquationalReasoner.java Mon Jan 12 20:39:04 2015 +0100 @@ -662,7 +662,7 @@ try (Debug.Scope s = Debug.scope("Downcast", payload)) { assert payload != anchor : payload.graph().toString(); metricDowncasting.increment(); - PiNode result = graph.unique(PiNode.create(payload, newStamp, anchor.asNode())); + PiNode result = graph.unique(new PiNode(payload, newStamp, anchor.asNode())); // we've possibly got a new node in the graph --- bookkeeping is in order. added.add(result); if (remember) {
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FixedGuardReduction.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FixedGuardReduction.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,7 +31,7 @@ * This class implements control-flow sensitive reductions for * {@link com.oracle.graal.nodes.FixedGuardNode}. * </p> - * + * * <p> * The laundry-list of all flow-sensitive reductions is summarized in * {@link com.oracle.graal.phases.common.cfs.FlowSensitiveReduction} @@ -151,5 +151,4 @@ graph.removeFixed(old); // `old.condition()` if unused will be removed in finished() } - }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReduction.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReduction.java Mon Jan 12 20:39:04 2015 +0100 @@ -497,9 +497,9 @@ * state-tracking. TODO the assumption here is that the code emitted for the resulting * FixedGuardNode is as efficient as for NullCheckNode. */ - IsNullNode isNN = graph.unique(IsNullNode.create(object)); + IsNullNode isNN = graph.unique(new IsNullNode(object)); reasoner.added.add(isNN); - FixedGuardNode nullCheck = graph.add(FixedGuardNode.create(isNN, UnreachedCode, InvalidateReprofile, true)); + FixedGuardNode nullCheck = graph.add(new FixedGuardNode(isNN, UnreachedCode, InvalidateReprofile, true)); graph.replaceFixedWithFixed(ncn, nullCheck); state.trackNN(object, nullCheck);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/GuardingPiReduction.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/GuardingPiReduction.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,12 +37,12 @@ * This class implements control-flow sensitive reductions for * {@link com.oracle.graal.nodes.GuardingPiNode}. * </p> - * + * * <p> * The laundry-list of all flow-sensitive reductions is summarized in * {@link com.oracle.graal.phases.common.cfs.FlowSensitiveReduction} * </p> - * + * * @see #visitGuardingPiNode(com.oracle.graal.nodes.GuardingPiNode) */ public abstract class GuardingPiReduction extends BaseReduction { @@ -141,7 +141,7 @@ * FixedGuardNode allows tracking the condition via a GuardingNode, thus potentially * triggering simplifications down the road. */ - FixedGuardNode fixedGuard = graph.add(FixedGuardNode.create(envelope.condition(), envelope.getReason(), envelope.getAction(), envelope.isNegated())); + FixedGuardNode fixedGuard = graph.add(new FixedGuardNode(envelope.condition(), envelope.getReason(), envelope.getAction(), envelope.isNegated())); graph.addBeforeFixed(envelope, fixedGuard); /* @@ -152,7 +152,7 @@ if (!FlowUtil.lacksUsages(envelope)) { // not calling wrapInPiNode() because we don't want to rememberSubstitution() - PiNode replacement = graph.unique(PiNode.create(envelope.object(), envelope.stamp(), fixedGuard)); + PiNode replacement = graph.unique(new PiNode(envelope.object(), envelope.stamp(), fixedGuard)); reasoner.added.add(replacement); // before removing the GuardingPiNode replace its usages envelope.replaceAtUsages(replacement); @@ -281,7 +281,7 @@ * TODO The GuardingPiNode has an outgoing stamp whose narrowing goes beyond what * the condition checks. That's suspicious. */ - PiNode replacement = graph.unique(PiNode.create(payload, envelope.stamp())); + PiNode replacement = graph.unique(new PiNode(payload, envelope.stamp())); reasoner.added.add(replacement); removeGuardingPiNode(envelope, replacement); return true; @@ -295,7 +295,7 @@ Witness w = state.typeInfo(payload); GuardingNode nonNullAnchor = (w != null && w.isNonNull()) ? w.guard() : null; if (nonNullAnchor != null) { - PiNode replacement = graph.unique(PiNode.create(payload, envelope.stamp(), nonNullAnchor.asNode())); + PiNode replacement = graph.unique(new PiNode(payload, envelope.stamp(), nonNullAnchor.asNode())); reasoner.added.add(replacement); removeGuardingPiNode(envelope, replacement); return true;
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Mon Jan 12 20:39:04 2015 +0100 @@ -176,7 +176,7 @@ public static void replaceInvokeCallTarget(Invoke invoke, StructuredGraph graph, InvokeKind invokeKind, ResolvedJavaMethod targetMethod) { MethodCallTargetNode oldCallTarget = (MethodCallTargetNode) invoke.callTarget(); - MethodCallTargetNode newCallTarget = graph.add(MethodCallTargetNode.create(invokeKind, targetMethod, oldCallTarget.arguments().toArray(new ValueNode[0]), oldCallTarget.returnType())); + MethodCallTargetNode newCallTarget = graph.add(new MethodCallTargetNode(invokeKind, targetMethod, oldCallTarget.arguments().toArray(new ValueNode[0]), oldCallTarget.returnType())); invoke.asNode().replaceFirstInput(oldCallTarget, newCallTarget); } @@ -186,7 +186,7 @@ private static GuardedValueNode createAnchoredReceiver(StructuredGraph graph, GuardingNode anchor, ValueNode receiver, Stamp stamp) { // to avoid that floating reads on receiver fields float above the type check - return graph.unique(GuardedValueNode.create(receiver, anchor, stamp)); + return graph.unique(new GuardedValueNode(receiver, anchor, stamp)); } /** @@ -302,7 +302,7 @@ // get rid of memory kill BeginNode begin = invokeWithException.next(); if (begin instanceof KillingBeginNode) { - BeginNode newBegin = BeginNode.create(); + BeginNode newBegin = new BeginNode(); graph.addAfterFixed(begin, graph.add(newBegin)); begin.replaceAtUsages(newBegin); graph.removeFixed(begin); @@ -310,7 +310,7 @@ } else { if (unwindNode != null) { UnwindNode unwindDuplicate = (UnwindNode) duplicates.get(unwindNode); - DeoptimizeNode deoptimizeNode = graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); + DeoptimizeNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); unwindDuplicate.replaceAndDelete(deoptimizeNode); } } @@ -341,7 +341,7 @@ for (ReturnNode returnNode : returnNodes) { returnDuplicates.add((ReturnNode) duplicates.get(returnNode)); } - MergeNode merge = graph.add(MergeNode.create()); + MergeNode merge = graph.add(new MergeNode()); merge.setStateAfter(stateAfter); ValueNode returnValue = mergeReturns(merge, returnDuplicates, canonicalizedNodes); invokeNode.replaceAtUsages(returnValue); @@ -442,12 +442,12 @@ MergeNode merge = (MergeNode) fixedStateSplit; while (merge.isAlive()) { AbstractEndNode end = merge.forwardEnds().first(); - DeoptimizeNode deoptimizeNode = graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); + DeoptimizeNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); end.replaceAtPredecessor(deoptimizeNode); GraphUtil.killCFG(end); } } else { - FixedNode deoptimizeNode = graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); + FixedNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); if (fixedStateSplit instanceof BeginNode) { deoptimizeNode = BeginNode.begin(deoptimizeNode); } @@ -464,12 +464,12 @@ for (ReturnNode returnNode : returnNodes) { // create and wire up a new EndNode - EndNode endNode = merge.graph().add(EndNode.create()); + EndNode endNode = merge.graph().add(new EndNode()); merge.addForwardEnd(endNode); if (returnNode.result() != null) { if (returnValuePhi == null) { - returnValuePhi = merge.graph().addWithoutUnique(ValuePhiNode.create(returnNode.result().stamp().unrestricted(), merge)); + returnValuePhi = merge.graph().addWithoutUnique(new ValuePhiNode(returnNode.result().stamp().unrestricted(), merge)); if (canonicalizedNodes != null) { canonicalizedNodes.add(returnValuePhi); } @@ -501,9 +501,9 @@ StructuredGraph graph = callTarget.graph(); ValueNode firstParam = callTarget.arguments().get(0); if (firstParam.getKind() == Kind.Object && !StampTool.isPointerNonNull(firstParam)) { - IsNullNode condition = graph.unique(IsNullNode.create(firstParam)); + IsNullNode condition = graph.unique(new IsNullNode(firstParam)); Stamp stamp = firstParam.stamp().join(objectNonNull()); - GuardingPiNode nonNullReceiver = graph.add(GuardingPiNode.create(firstParam, condition, true, NullCheckException, InvalidateReprofile, stamp)); + GuardingPiNode nonNullReceiver = graph.add(new GuardingPiNode(firstParam, condition, true, NullCheckException, InvalidateReprofile, stamp)); graph.addBeforeFixed(invoke.asNode(), nonNullReceiver); callTarget.replaceFirstInput(firstParam, nonNullReceiver); return nonNullReceiver; @@ -546,8 +546,8 @@ private static FixedWithNextNode createMacroNodeInstance(Class<? extends FixedWithNextNode> macroNodeClass, Invoke invoke) throws GraalInternalError { try { - Method factory = macroNodeClass.getDeclaredMethod("create", Invoke.class); - return (FixedWithNextNode) factory.invoke(null, invoke); + Constructor<?> cons = macroNodeClass.getDeclaredConstructor(Invoke.class); + return (FixedWithNextNode) cons.newInstance(invoke); } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException e) { throw new GraalGraphInternalError(e).addContext(invoke.asNode()).addContext("macroSubstitution", macroNodeClass); }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java Mon Jan 12 20:39:04 2015 +0100 @@ -173,12 +173,12 @@ ValueNode originalReceiver = ((MethodCallTargetNode) invoke.callTarget()).receiver(); // setup merge and phi nodes for results and exceptions - MergeNode returnMerge = graph.add(MergeNode.create()); + MergeNode returnMerge = graph.add(new MergeNode()); returnMerge.setStateAfter(invoke.stateAfter()); PhiNode returnValuePhi = null; if (invoke.asNode().getKind() != Kind.Void) { - returnValuePhi = graph.addWithoutUnique(ValuePhiNode.create(invoke.asNode().stamp().unrestricted(), returnMerge)); + returnValuePhi = graph.addWithoutUnique(new ValuePhiNode(invoke.asNode().stamp().unrestricted(), returnMerge)); } MergeNode exceptionMerge = null; @@ -187,11 +187,11 @@ InvokeWithExceptionNode invokeWithException = (InvokeWithExceptionNode) invoke; ExceptionObjectNode exceptionEdge = (ExceptionObjectNode) invokeWithException.exceptionEdge(); - exceptionMerge = graph.add(MergeNode.create()); + exceptionMerge = graph.add(new MergeNode()); FixedNode exceptionSux = exceptionEdge.next(); graph.addBeforeFixed(exceptionSux, exceptionMerge); - exceptionObjectPhi = graph.addWithoutUnique(ValuePhiNode.create(StampFactory.forKind(Kind.Object), exceptionMerge)); + exceptionObjectPhi = graph.addWithoutUnique(new ValuePhiNode(StampFactory.forKind(Kind.Object), exceptionMerge)); exceptionMerge.setStateAfter(exceptionEdge.stateAfter().duplicateModified(invoke.stateAfter().bci, true, Kind.Object, exceptionObjectPhi)); } @@ -206,7 +206,7 @@ if (shouldFallbackToInvoke()) { unknownTypeSux = createInvocationBlock(graph, invoke, returnMerge, returnValuePhi, exceptionMerge, exceptionObjectPhi, false); } else { - unknownTypeSux = graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.TypeCheckedInliningViolated)); + unknownTypeSux = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.TypeCheckedInliningViolated)); } successors[successors.length - 1] = BeginNode.begin(unknownTypeSux); @@ -330,7 +330,7 @@ private Collection<Node> inlineSingleMethod(StructuredGraph graph, MetaAccessProvider metaAccess, Assumptions assumptions, StampProvider stampProvider) { assert concretes.size() == 1 && inlineableElements.length == 1 && ptypes.size() > 1 && !shouldFallbackToInvoke() && notRecordedTypeProbability == 0; - BeginNode calleeEntryNode = graph.add(BeginNode.create()); + BeginNode calleeEntryNode = graph.add(new BeginNode()); BeginNode unknownTypeSux = createUnknownTypeSuccessor(graph); BeginNode[] successors = new BeginNode[]{calleeEntryNode, unknownTypeSux}; @@ -344,7 +344,7 @@ private boolean createDispatchOnTypeBeforeInvoke(StructuredGraph graph, BeginNode[] successors, boolean invokeIsOnlySuccessor, MetaAccessProvider metaAccess, StampProvider stampProvider) { assert ptypes.size() >= 1; ValueNode nonNullReceiver = InliningUtil.nonNullReceiver(invoke); - LoadHubNode hub = graph.unique(LoadHubNode.create(stampProvider, nonNullReceiver)); + LoadHubNode hub = graph.unique(new LoadHubNode(stampProvider, nonNullReceiver)); if (!invokeIsOnlySuccessor && chooseMethodDispatch()) { assert successors.length == concretes.size() + 1; @@ -375,9 +375,9 @@ ResolvedJavaType receiverType = invoke.getReceiverType(); FixedNode lastSucc = successors[concretes.size()]; for (int i = concretes.size() - 1; i >= 0; --i) { - LoadMethodNode method = graph.add(LoadMethodNode.create(stampProvider.createMethodStamp(), concretes.get(i), receiverType, hub)); + LoadMethodNode method = graph.add(new LoadMethodNode(stampProvider.createMethodStamp(), concretes.get(i), receiverType, hub)); CompareNode methodCheck = CompareNode.createCompareNode(graph, Condition.EQ, method, constantMethods[i]); - IfNode ifNode = graph.add(IfNode.create(methodCheck, successors[i], lastSucc, probability[i])); + IfNode ifNode = graph.add(new IfNode(methodCheck, successors[i], lastSucc, probability[i])); method.setNext(ifNode); lastSucc = method; } @@ -408,7 +408,7 @@ keyProbabilities[i] /= totalProbability; } - TypeSwitchNode typeSwitch = graph.add(TypeSwitchNode.create(hub, successors, keys, keyProbabilities, keySuccessors)); + TypeSwitchNode typeSwitch = graph.add(new TypeSwitchNode(hub, successors, keys, keyProbabilities, keySuccessors)); FixedWithNextNode pred = (FixedWithNextNode) invoke.asNode().predecessor(); pred.setNext(typeSwitch); return false; @@ -462,10 +462,10 @@ private static BeginNode createInvocationBlock(StructuredGraph graph, Invoke invoke, MergeNode returnMerge, PhiNode returnValuePhi, MergeNode exceptionMerge, PhiNode exceptionObjectPhi, boolean useForInlining) { Invoke duplicatedInvoke = duplicateInvokeForInlining(graph, invoke, exceptionMerge, exceptionObjectPhi, useForInlining); - BeginNode calleeEntryNode = graph.add(BeginNode.create()); + BeginNode calleeEntryNode = graph.add(new BeginNode()); calleeEntryNode.setNext(duplicatedInvoke.asNode()); - AbstractEndNode endNode = graph.add(EndNode.create()); + AbstractEndNode endNode = graph.add(new EndNode()); duplicatedInvoke.setNext(endNode); returnMerge.addForwardEnd(endNode); @@ -500,7 +500,7 @@ // set new state (pop old exception object, push new one) newExceptionEdge.setStateAfter(stateAfterException.duplicateModified(Kind.Object, newExceptionEdge)); - AbstractEndNode endNode = graph.add(EndNode.create()); + AbstractEndNode endNode = graph.add(new EndNode()); newExceptionEdge.setNext(endNode); exceptionMerge.addForwardEnd(endNode); exceptionObjectPhi.addInput(newExceptionEdge); @@ -538,7 +538,7 @@ } private void devirtualizeWithTypeSwitch(StructuredGraph graph, InvokeKind kind, ResolvedJavaMethod target, MetaAccessProvider metaAccess, StampProvider stampProvider) { - BeginNode invocationEntry = graph.add(BeginNode.create()); + BeginNode invocationEntry = graph.add(new BeginNode()); BeginNode unknownTypeSux = createUnknownTypeSuccessor(graph); BeginNode[] successors = new BeginNode[]{invocationEntry, unknownTypeSux}; createDispatchOnTypeBeforeInvoke(graph, successors, true, metaAccess, stampProvider); @@ -551,7 +551,7 @@ } private static BeginNode createUnknownTypeSuccessor(StructuredGraph graph) { - return BeginNode.begin(graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.TypeCheckedInliningViolated))); + return BeginNode.begin(graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.TypeCheckedInliningViolated))); } @Override
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/TypeGuardInlineInfo.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/TypeGuardInlineInfo.java Mon Jan 12 20:39:04 2015 +0100 @@ -103,11 +103,11 @@ private void createGuard(StructuredGraph graph, Providers providers) { ValueNode nonNullReceiver = InliningUtil.nonNullReceiver(invoke); - LoadHubNode receiverHub = graph.unique(LoadHubNode.create(providers.getStampProvider(), nonNullReceiver)); + LoadHubNode receiverHub = graph.unique(new LoadHubNode(providers.getStampProvider(), nonNullReceiver)); ConstantNode typeHub = ConstantNode.forConstant(receiverHub.stamp(), type.getObjectHub(), providers.getMetaAccess(), graph); CompareNode typeCheck = CompareNode.createCompareNode(graph, Condition.EQ, receiverHub, typeHub); - FixedGuardNode guard = graph.add(FixedGuardNode.create(typeCheck, DeoptimizationReason.TypeCheckedInliningViolated, DeoptimizationAction.InvalidateReprofile)); + FixedGuardNode guard = graph.add(new FixedGuardNode(typeCheck, DeoptimizationReason.TypeCheckedInliningViolated, DeoptimizationAction.InvalidateReprofile)); assert invoke.predecessor() != null; ValueNode anchoredReceiver = InliningUtil.createAnchoredReceiver(graph, guard, type, nonNullReceiver, true);
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/InferStamps.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/InferStamps.java Mon Jan 12 20:39:04 2015 +0100 @@ -90,5 +90,4 @@ } return true; } - }
--- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java Mon Jan 12 20:39:04 2015 +0100 @@ -182,7 +182,7 @@ Arguments args = new Arguments(key, graph.getGuardsStage(), tool.getLoweringStage()); args.add("input", convert.getValue()); - args.add("result", graph.unique(AMD64FloatConvertNode.create(convert.getFloatConvert(), convert.getValue()))); + args.add("result", graph.unique(new AMD64FloatConvertNode(convert.getFloatConvert(), convert.getValue()))); SnippetTemplate template = template(args); Debug.log("Lowering %s in %s: node=%s, template=%s, arguments=%s", convert.getFloatConvert(), graph, convert, template, args);
--- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class AMD64CountLeadingZerosNode extends UnaryNode implements LIRLowerable { - public static AMD64CountLeadingZerosNode create(ValueNode value) { - return new AMD64CountLeadingZerosNode(value); - } - - protected AMD64CountLeadingZerosNode(ValueNode value) { + public AMD64CountLeadingZerosNode(ValueNode value) { super(StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); assert value.getKind() == Kind.Int || value.getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class AMD64CountTrailingZerosNode extends UnaryNode implements LIRLowerable { - public static AMD64CountTrailingZerosNode create(ValueNode value) { - return new AMD64CountTrailingZerosNode(value); - } - - protected AMD64CountTrailingZerosNode(ValueNode value) { + public AMD64CountTrailingZerosNode(ValueNode value) { super(StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); assert value.getKind() == Kind.Int || value.getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ protected final FloatConvert op; - public static AMD64FloatConvertNode create(FloatConvert op, ValueNode value) { - return new AMD64FloatConvertNode(op, value); - } - - protected AMD64FloatConvertNode(FloatConvert op, ValueNode value) { + public AMD64FloatConvertNode(FloatConvert op, ValueNode value) { super(table -> table.getFloatConvert(op), value); this.op = op; }
--- a/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -69,17 +69,7 @@ return operation; } - /** - * Creates a new HSAILMathIntrinsicNode. - * - * @param x the argument to the math operation - * @param op the math operation - */ - public static HSAILMathIntrinsicsNode create(ValueNode x, HSAILArithmetic op) { - return new HSAILMathIntrinsicsNode(x, op); - } - - protected HSAILMathIntrinsicsNode(ValueNode x, HSAILArithmetic op) { + public HSAILMathIntrinsicsNode(ValueNode x, HSAILArithmetic op) { super(StampFactory.forKind(x.getKind())); this.param = x; this.operation = op;
--- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/CheckCastTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/CheckCastTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,7 +37,7 @@ protected void replaceProfile(StructuredGraph graph, JavaTypeProfile profile) { CheckCastNode ccn = graph.getNodes().filter(CheckCastNode.class).first(); if (ccn != null) { - CheckCastNode ccnNew = graph.add(CheckCastNode.create(ccn.type(), ccn.object(), profile, false)); + CheckCastNode ccnNew = graph.add(new CheckCastNode(ccn.type(), ccn.object(), profile, false)); graph.replaceFixedWithFixed(ccn, ccnNew); } }
--- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,13 +48,9 @@ @Input ConstantNode i1; @Input FloatingNode i2; - public static TestNode create() { - return new TestNode(); + public TestNode() { } - protected TestNode() { - // TODO Auto-generated constructor stub - } } StructuredGraph graph = new StructuredGraph(); @@ -66,7 +62,7 @@ Edges inputs; public EdgesTest() { - node = TestNode.create(); + node = new TestNode(); i1 = ConstantNode.forInt(1, graph); i2 = ConstantNode.forDouble(1.0d, graph); i3 = ConstantNode.forInt(4, graph);
--- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InstanceOfTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InstanceOfTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,7 +50,7 @@ protected void replaceProfile(StructuredGraph graph, JavaTypeProfile profile) { InstanceOfNode ion = graph.getNodes().filter(InstanceOfNode.class).first(); if (ion != null) { - InstanceOfNode ionNew = graph.unique(InstanceOfNode.create(ion.type(), ion.getValue(), profile)); + InstanceOfNode ionNew = graph.unique(new InstanceOfNode(ion.type(), ion.getValue(), profile)); graph.replaceFloating(ion, ionNew); } }
--- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewMultiArrayTest.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewMultiArrayTest.java Mon Jan 12 20:39:04 2015 +0100 @@ -64,7 +64,7 @@ dimensionNodes[i] = ConstantNode.forInt(dimensions[i], graph); } - NewMultiArrayNode repl = graph.add(NewMultiArrayNode.create(arrayType, dimensionNodes)); + NewMultiArrayNode repl = graph.add(new NewMultiArrayNode(arrayType, dimensionNodes)); graph.replaceFixedWithFixed(node, repl); forceCompile = true; }
--- a/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java Mon Jan 12 20:39:04 2015 +0100 @@ -94,7 +94,7 @@ env.getMessager().printMessage(Kind.ERROR, String.format("Cannot make @NodeIntrinsic for abstract node class %s.", nodeClass.getSimpleName()), element, annotation); } else { TypeMirror[] constructorSignature = constructorSignature(intrinsicMethod); - findFactory(nodeClass, constructorSignature, intrinsicMethod, annotation); + findConstructor(nodeClass, constructorSignature, intrinsicMethod, annotation); } } else { env.getMessager().printMessage(Kind.ERROR, String.format("The class %s is not a Node subclass.", nodeClass.getSimpleName()), element, annotation); @@ -122,40 +122,37 @@ return parameters; } - private void findFactory(TypeElement nodeClass, TypeMirror[] signature, ExecutableElement intrinsicMethod, AnnotationMirror intrinsicAnnotation) { - List<ExecutableElement> methods = ElementFilter.methodsIn(nodeClass.getEnclosedElements()); + private void findConstructor(TypeElement nodeClass, TypeMirror[] signature, ExecutableElement intrinsicMethod, AnnotationMirror intrinsicAnnotation) { + List<ExecutableElement> constructors = ElementFilter.constructorsIn(nodeClass.getEnclosedElements()); List<String> failureReasons = new ArrayList<>(); - nextMethod: for (ExecutableElement method : methods) { - if (!method.getSimpleName().contentEquals("create") || !method.getModifiers().contains(Modifier.STATIC)) { - continue; - } + nextConstructor: for (ExecutableElement constructor : constructors) { int sIdx = 0; - int mIdx = 0; - while (mIdx < method.getParameters().size()) { - VariableElement parameter = method.getParameters().get(mIdx++); + int cIdx = 0; + while (cIdx < constructor.getParameters().size()) { + VariableElement parameter = constructor.getParameters().get(cIdx++); if (parameter.getAnnotation(InjectedNodeParameter.class) != null) { // skip injected parameters continue; } TypeMirror paramType = parameter.asType(); - if (mIdx == method.getParameters().size() && paramType.getKind() == TypeKind.ARRAY) { - // last argument of method is varargs, match remaining intrinsic arguments + if (cIdx == constructor.getParameters().size() && paramType.getKind() == TypeKind.ARRAY) { + // last argument of constructor is varargs, match remaining intrinsic arguments TypeMirror varargsType = ((ArrayType) paramType).getComponentType(); while (sIdx < signature.length) { if (!isTypeCompatible(varargsType, signature[sIdx++])) { - failureReasons.add(String.format("Factory method %s failed because the types of argument %d are incompatible: %s != %s", method, sIdx, varargsType, signature[sIdx - 1])); - continue nextMethod; + failureReasons.add(String.format("Constructor %s failed because the types of argument %d are incompatible: %s != %s", constructor, sIdx, varargsType, signature[sIdx - 1])); + continue nextConstructor; } } } else if (sIdx >= signature.length) { // too many arguments in intrinsic method - failureReasons.add(String.format("Too many arguments for %s", method)); - continue nextMethod; + failureReasons.add(String.format("Too many arguments for %s", constructor)); + continue nextConstructor; } else if (!isTypeCompatible(paramType, signature[sIdx++])) { - failureReasons.add(String.format("Factory method %s failed because the types of argument %d are incompatible: %s != %s", method, sIdx, paramType, signature[sIdx - 1])); - continue nextMethod; + failureReasons.add(String.format("Constructor %s failed because the types of argument %d are incompatible: %s != %s", constructor, sIdx, paramType, signature[sIdx - 1])); + continue nextConstructor; } } @@ -165,12 +162,12 @@ } // too many arguments in constructor - failureReasons.add(String.format("Not enough arguments for %s", method)); + failureReasons.add(String.format("Not enough arguments for %s", constructor)); } // not found if (failureReasons.isEmpty()) { - env.getMessager().printMessage(Kind.ERROR, "Could not find matching factory method for node intrinsic.", intrinsicMethod, intrinsicAnnotation); + env.getMessager().printMessage(Kind.ERROR, "Could not find matching constructor for node intrinsic.", intrinsicMethod, intrinsicAnnotation); } else { for (String reason : failureReasons) { env.getMessager().printMessage(Kind.ERROR, reason, intrinsicMethod, intrinsicAnnotation);
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/CollapseFrameForSingleSideEffectPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/CollapseFrameForSingleSideEffectPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -228,7 +228,7 @@ assert bci == AFTER_BCI || bci == AFTER_EXCEPTION_BCI || bci == INVALID_FRAMESTATE_BCI; FrameState currentStateAfter = node.stateAfter(); if (currentStateAfter != null || !replaceOnly) { - node.setStateAfter(graph.add(FrameState.create(bci))); + node.setStateAfter(graph.add(new FrameState(bci))); if (currentStateAfter != null && currentStateAfter.usages().isEmpty()) { GraphUtil.killWithUnusedFloatingInputs(currentStateAfter); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Mon Jan 12 20:39:04 2015 +0100 @@ -121,7 +121,7 @@ ConstantLocationNode location = createFieldLocation(graph, field, false); assert location != null : "Field that is loaded must not be eliminated"; - ReadNode memoryRead = graph.add(ReadNode.create(object, location, loadStamp, fieldLoadBarrierType(field))); + ReadNode memoryRead = graph.add(new ReadNode(object, location, loadStamp, fieldLoadBarrierType(field))); ValueNode readValue = implicitLoadConvert(graph, field.getKind(), memoryRead); loadField.replaceAtUsages(readValue); graph.replaceFixed(loadField, memoryRead); @@ -129,9 +129,9 @@ memoryRead.setGuard(createNullCheck(object, memoryRead, tool)); if (loadField.isVolatile()) { - MembarNode preMembar = graph.add(MembarNode.create(JMM_PRE_VOLATILE_READ)); + MembarNode preMembar = graph.add(new MembarNode(JMM_PRE_VOLATILE_READ)); graph.addBeforeFixed(memoryRead, preMembar); - MembarNode postMembar = graph.add(MembarNode.create(JMM_POST_VOLATILE_READ)); + MembarNode postMembar = graph.add(new MembarNode(JMM_POST_VOLATILE_READ)); graph.addAfterFixed(memoryRead, postMembar); } } @@ -149,15 +149,15 @@ graph.removeFixed(storeField); return; } - WriteNode memoryWrite = graph.add(WriteNode.create(object, value, location, fieldStoreBarrierType(storeField.field()))); + WriteNode memoryWrite = graph.add(new WriteNode(object, value, location, fieldStoreBarrierType(storeField.field()))); memoryWrite.setStateAfter(storeField.stateAfter()); graph.replaceFixedWithFixed(storeField, memoryWrite); memoryWrite.setGuard(createNullCheck(object, memoryWrite, tool)); if (storeField.isVolatile()) { - MembarNode preMembar = graph.add(MembarNode.create(JMM_PRE_VOLATILE_WRITE)); + MembarNode preMembar = graph.add(new MembarNode(JMM_PRE_VOLATILE_WRITE)); graph.addBeforeFixed(memoryWrite, preMembar); - MembarNode postMembar = graph.add(MembarNode.create(JMM_POST_VOLATILE_WRITE)); + MembarNode postMembar = graph.add(new MembarNode(JMM_POST_VOLATILE_WRITE)); graph.addAfterFixed(memoryWrite, postMembar); } } @@ -168,7 +168,7 @@ LocationNode location = createArrayLocation(graph, elementKind, loadIndexed.index(), false); Stamp loadStamp = loadStamp(loadIndexed.stamp(), elementKind); - ReadNode memoryRead = graph.add(ReadNode.create(loadIndexed.array(), location, loadStamp, BarrierType.NONE)); + ReadNode memoryRead = graph.add(new ReadNode(loadIndexed.array(), location, loadStamp, BarrierType.NONE)); ValueNode readValue = implicitLoadConvert(graph, elementKind, memoryRead); memoryRead.setGuard(createBoundsCheck(loadIndexed, tool)); @@ -192,20 +192,20 @@ if (arrayType != null && StampTool.isExactType(array)) { ResolvedJavaType elementType = arrayType.getComponentType(); if (!elementType.isJavaLangObject()) { - checkCastNode = graph.add(CheckCastNode.create(elementType, value, null, true)); + checkCastNode = graph.add(new CheckCastNode(elementType, value, null, true)); graph.addBeforeFixed(storeIndexed, checkCastNode); value = checkCastNode; } } else { ValueNode arrayClass = createReadHub(graph, array, boundsCheck); ValueNode componentHub = createReadArrayComponentHub(graph, arrayClass, storeIndexed); - checkCastNode = graph.add(CheckCastDynamicNode.create(componentHub, value, true)); + checkCastNode = graph.add(new CheckCastDynamicNode(componentHub, value, true)); graph.addBeforeFixed(storeIndexed, checkCastNode); value = checkCastNode; } } - WriteNode memoryWrite = graph.add(WriteNode.create(array, implicitStoreConvert(graph, elementKind, value), location, arrayStoreBarrierType(storeIndexed.elementKind()))); + WriteNode memoryWrite = graph.add(new WriteNode(array, implicitStoreConvert(graph, elementKind, value), location, arrayStoreBarrierType(storeIndexed.elementKind()))); memoryWrite.setGuard(boundsCheck); memoryWrite.setStateAfter(storeIndexed.stateAfter()); graph.replaceFixedWithFixed(storeIndexed, memoryWrite); @@ -219,9 +219,9 @@ protected void lowerArrayLengthNode(ArrayLengthNode arrayLengthNode, LoweringTool tool) { StructuredGraph graph = arrayLengthNode.graph(); ValueNode array = arrayLengthNode.array(); - ConstantLocationNode location = ConstantLocationNode.create(ARRAY_LENGTH_LOCATION, arrayLengthOffset(), graph); + ConstantLocationNode location = graph.unique(new ConstantLocationNode(ARRAY_LENGTH_LOCATION, arrayLengthOffset())); - ReadNode arrayLengthRead = graph.add(ReadNode.create(array, location, StampFactory.positiveInt(), BarrierType.NONE)); + ReadNode arrayLengthRead = graph.add(new ReadNode(array, location, StampFactory.positiveInt(), BarrierType.NONE)); arrayLengthRead.setGuard(createNullCheck(array, arrayLengthNode, tool)); graph.replaceFixedWithFixed(arrayLengthNode, arrayLengthRead); } @@ -243,7 +243,7 @@ ValueNode expectedValue = implicitStoreConvert(graph, valueKind, cas.expected()); ValueNode newValue = implicitStoreConvert(graph, valueKind, cas.newValue()); - LoweredCompareAndSwapNode atomicNode = graph.add(LoweredCompareAndSwapNode.create(cas.object(), location, expectedValue, newValue, compareAndSwapBarrierType(cas))); + LoweredCompareAndSwapNode atomicNode = graph.add(new LoweredCompareAndSwapNode(cas.object(), location, expectedValue, newValue, compareAndSwapBarrierType(cas))); atomicNode.setStateAfter(cas.stateAfter()); graph.replaceFixedWithFixed(cas, atomicNode); } @@ -251,11 +251,11 @@ protected void lowerAtomicReadAndWriteNode(AtomicReadAndWriteNode n) { StructuredGraph graph = n.graph(); Kind valueKind = n.getValueKind(); - LocationNode location = IndexedLocationNode.create(n.getLocationIdentity(), 0, n.offset(), graph, 1); + LocationNode location = graph.unique(new IndexedLocationNode(n.getLocationIdentity(), 0, n.offset(), 1)); ValueNode newValue = implicitStoreConvert(graph, valueKind, n.newValue()); - LoweredAtomicReadAndWriteNode memoryRead = graph.add(LoweredAtomicReadAndWriteNode.create(n.object(), location, newValue, atomicReadAndWriteBarrierType(n))); + LoweredAtomicReadAndWriteNode memoryRead = graph.add(new LoweredAtomicReadAndWriteNode(n.object(), location, newValue, atomicReadAndWriteBarrierType(n))); memoryRead.setStateAfter(n.stateAfter()); ValueNode readValue = implicitLoadConvert(graph, valueKind, memoryRead); @@ -266,7 +266,7 @@ protected void lowerUnsafeLoadNode(UnsafeLoadNode load, @SuppressWarnings("unused") LoweringTool tool) { StructuredGraph graph = load.graph(); if (load.getGuardingCondition() != null) { - ConditionAnchorNode valueAnchorNode = graph.add(ConditionAnchorNode.create(load.getGuardingCondition())); + ConditionAnchorNode valueAnchorNode = graph.add(new ConditionAnchorNode(load.getGuardingCondition())); ReadNode memoryRead = createUnsafeRead(graph, load, valueAnchorNode); graph.replaceFixedWithFixed(load, valueAnchorNode); graph.addAfterFixed(valueAnchorNode, memoryRead); @@ -293,7 +293,7 @@ object = base[0]; } Stamp loadStamp = loadStamp(load.stamp(), readKind, compressible); - ReadNode memoryRead = graph.add(ReadNode.create(object, location, loadStamp, guard, BarrierType.NONE)); + ReadNode memoryRead = graph.add(new ReadNode(object, location, loadStamp, guard, BarrierType.NONE)); ValueNode readValue = implicitLoadConvert(graph, readKind, memoryRead, compressible); load.replaceAtUsages(readValue); return memoryRead; @@ -313,7 +313,7 @@ boolean compressible = store.value().getKind() == Kind.Object; Kind valueKind = store.accessKind(); ValueNode value = implicitStoreConvert(graph, valueKind, store.value(), compressible); - WriteNode write = graph.add(WriteNode.create(object, value, location, unsafeStoreBarrierType(store))); + WriteNode write = graph.add(new WriteNode(object, value, location, unsafeStoreBarrierType(store))); write.setStateAfter(store.stateAfter()); graph.replaceFixedWithFixed(store, write); } @@ -323,7 +323,7 @@ Kind valueKind = read.getReadKind(); Stamp loadStamp = loadStamp(read.stamp(), valueKind, read.isCompressible()); - ReadNode memoryRead = graph.add(ReadNode.create(read.object(), read.location(), loadStamp, read.getBarrierType())); + ReadNode memoryRead = graph.add(new ReadNode(read.object(), read.location(), loadStamp, read.getBarrierType())); ValueNode readValue = implicitLoadConvert(graph, valueKind, memoryRead, read.isCompressible()); memoryRead.setGuard(read.getGuard()); read.replaceAtUsages(readValue); @@ -335,7 +335,7 @@ Kind valueKind = write.getWriteKind(); ValueNode value = implicitStoreConvert(graph, valueKind, write.value(), write.isCompressible()); - WriteNode memoryWrite = graph.add(WriteNode.create(write.object(), value, write.location(), write.getBarrierType(), write.isInitialization())); + WriteNode memoryWrite = graph.add(new WriteNode(write.object(), value, write.location(), write.getBarrierType(), write.isInitialization())); memoryWrite.setStateAfter(write.stateAfter()); graph.replaceFixedWithFixed(write, memoryWrite); memoryWrite.setGuard(write.getGuard()); @@ -382,15 +382,15 @@ ResolvedJavaField field = ((VirtualInstanceNode) virtual).field(i); long offset = fieldOffset(field); if (offset >= 0) { - location = ConstantLocationNode.create(initLocationIdentity(), offset, graph); + location = graph.unique(new ConstantLocationNode(initLocationIdentity(), offset)); barrierType = fieldInitializationBarrier(entryKind); } } else { - location = ConstantLocationNode.create(initLocationIdentity(), arrayBaseOffset(entryKind) + i * arrayScalingFactor(entryKind), graph); + location = graph.unique(new ConstantLocationNode(initLocationIdentity(), arrayBaseOffset(entryKind) + i * arrayScalingFactor(entryKind))); barrierType = arrayInitializationBarrier(entryKind); } if (location != null) { - WriteNode write = WriteNode.create(newObject, implicitStoreConvert(graph, entryKind, value), location, barrierType); + WriteNode write = new WriteNode(newObject, implicitStoreConvert(graph, entryKind, value), location, barrierType); graph.addAfterFixed(newObject, graph.add(write)); } } @@ -422,7 +422,7 @@ barrierType = BarrierType.PRECISE; } if (location != null) { - WriteNode write = WriteNode.create(newObject, implicitStoreConvert(graph, Kind.Object, allocValue), location, barrierType); + WriteNode write = new WriteNode(newObject, implicitStoreConvert(graph, Kind.Object, allocValue), location, barrierType); graph.addBeforeFixed(commit, graph.add(write)); } } @@ -441,23 +441,23 @@ } public NewInstanceNode createNewInstanceFromVirtual(VirtualObjectNode virtual) { - return NewInstanceNode.create(virtual.type(), true); + return new NewInstanceNode(virtual.type(), true); } protected NewArrayNode createNewArrayFromVirtual(VirtualObjectNode virtual, ValueNode length) { - return NewArrayNode.create(((VirtualArrayNode) virtual).componentType(), length, true); + return new NewArrayNode(((VirtualArrayNode) virtual).componentType(), length, true); } public static void finishAllocatedObjects(LoweringTool tool, CommitAllocationNode commit, ValueNode[] allocations) { StructuredGraph graph = commit.graph(); for (int objIndex = 0; objIndex < commit.getVirtualObjects().size(); objIndex++) { - FixedValueAnchorNode anchor = graph.add(FixedValueAnchorNode.create(allocations[objIndex])); + FixedValueAnchorNode anchor = graph.add(new FixedValueAnchorNode(allocations[objIndex])); allocations[objIndex] = anchor; graph.addBeforeFixed(commit, anchor); } for (int objIndex = 0; objIndex < commit.getVirtualObjects().size(); objIndex++) { for (MonitorIdNode monitorId : commit.getLocks(objIndex)) { - MonitorEnterNode enter = graph.add(MonitorEnterNode.create(allocations[objIndex], monitorId)); + MonitorEnterNode enter = graph.add(new MonitorEnterNode(allocations[objIndex], monitorId)); graph.addBeforeFixed(commit, enter); enter.lower(tool); } @@ -558,10 +558,10 @@ switch (kind) { case Byte: case Short: - return graph.unique(SignExtendNode.create(value, 32)); + return graph.unique(new SignExtendNode(value, 32)); case Boolean: case Char: - return graph.unique(ZeroExtendNode.create(value, 32)); + return graph.unique(new ZeroExtendNode(value, 32)); } return value; } @@ -574,10 +574,10 @@ switch (kind) { case Boolean: case Byte: - return graph.unique(NarrowNode.create(value, 8)); + return graph.unique(new NarrowNode(value, 8)); case Char: case Short: - return graph.unique(NarrowNode.create(value, 16)); + return graph.unique(new NarrowNode(value, 16)); } return value; } @@ -590,7 +590,7 @@ int offset = fieldOffset(field); if (offset >= 0) { LocationIdentity loc = initialization ? initLocationIdentity() : field; - return ConstantLocationNode.create(loc, offset, graph); + return graph.unique(new ConstantLocationNode(loc, offset)); } else { return null; } @@ -619,7 +619,7 @@ ValueNode offset = offsetNode; if (offset.isConstant()) { long offsetValue = offset.asJavaConstant().asLong(); - return ConstantLocationNode.create(locationIdentity, offsetValue, offset.graph()); + return offset.graph().unique(new ConstantLocationNode(locationIdentity, offsetValue)); } long displacement = 0; @@ -678,14 +678,14 @@ } if (signExtend) { // If we were using sign extended values before restore the sign extension. - offset = offset.graph().addOrUnique(SignExtendNode.create(offset, 64)); + offset = offset.graph().addOrUnique(new SignExtendNode(offset, 64)); } - return IndexedLocationNode.create(locationIdentity, displacement, offset, offset.graph(), indexScaling); + return offset.graph().unique(new IndexedLocationNode(locationIdentity, displacement, offset, indexScaling)); } public IndexedLocationNode createArrayLocation(Graph graph, Kind elementKind, ValueNode index, boolean initialization) { LocationIdentity loc = initialization ? initLocationIdentity() : NamedLocationIdentity.getArrayLocation(elementKind); - return IndexedLocationNode.create(loc, arrayBaseOffset(elementKind), index, graph, arrayScalingFactor(elementKind)); + return graph.unique(new IndexedLocationNode(loc, arrayBaseOffset(elementKind), index, arrayScalingFactor(elementKind))); } protected GuardingNode createBoundsCheck(AccessIndexedNode n, LoweringTool tool) { @@ -694,7 +694,7 @@ ValueNode arrayLength = readArrayLength(array, tool.getConstantReflection()); if (arrayLength == null) { Stamp stamp = StampFactory.positiveInt(); - ReadNode readArrayLength = graph.add(ReadNode.create(array, ConstantLocationNode.create(ARRAY_LENGTH_LOCATION, arrayLengthOffset(), graph), stamp, BarrierType.NONE)); + ReadNode readArrayLength = graph.add(new ReadNode(array, graph.unique(new ConstantLocationNode(ARRAY_LENGTH_LOCATION, arrayLengthOffset())), stamp, BarrierType.NONE)); graph.addBeforeFixed(n, readArrayLength); readArrayLength.setGuard(createNullCheck(array, readArrayLength, tool)); arrayLength = readArrayLength; @@ -711,14 +711,14 @@ } } - return tool.createGuard(n, graph.unique(IntegerBelowNode.create(n.index(), arrayLength)), BoundsCheckException, InvalidateReprofile); + return tool.createGuard(n, graph.unique(new IntegerBelowNode(n.index(), arrayLength)), BoundsCheckException, InvalidateReprofile); } protected GuardingNode createNullCheck(ValueNode object, FixedNode before, LoweringTool tool) { if (StampTool.isPointerNonNull(object)) { return null; } - return tool.createGuard(before, before.graph().unique(IsNullNode.create(object)), DeoptimizationReason.NullCheckException, DeoptimizationAction.InvalidateReprofile, true); + return tool.createGuard(before, before.graph().unique(new IsNullNode(object)), DeoptimizationReason.NullCheckException, DeoptimizationAction.InvalidateReprofile, true); } @Override
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java Mon Jan 12 20:39:04 2015 +0100 @@ -131,7 +131,7 @@ JavaType returnType = signature.getReturnType(null); assert checkArgs(method, args); MethodCallTargetNode callTarget = graph.add(createMethodCallTarget(invokeKind, method, args, returnType, bci)); - InvokeNode invoke = append(InvokeNode.create(callTarget, bci)); + InvokeNode invoke = append(new InvokeNode(callTarget, bci)); if (frameStateBuilder != null) { if (invoke.getKind() != Kind.Void) { @@ -146,7 +146,7 @@ } protected MethodCallTargetNode createMethodCallTarget(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] args, JavaType returnType, @SuppressWarnings("unused") int bci) { - return MethodCallTargetNode.create(invokeKind, targetMethod, args, returnType); + return new MethodCallTargetNode(invokeKind, targetMethod, args, returnType); } /** @@ -246,9 +246,9 @@ * @param trueProbability The estimated probability the the condition is true */ public void startIf(LogicNode condition, double trueProbability) { - BeginNode thenSuccessor = graph.add(BeginNode.create()); - BeginNode elseSuccessor = graph.add(BeginNode.create()); - append(IfNode.create(condition, thenSuccessor, elseSuccessor, trueProbability)); + BeginNode thenSuccessor = graph.add(new BeginNode()); + BeginNode elseSuccessor = graph.add(new BeginNode()); + append(new IfNode(condition, thenSuccessor, elseSuccessor, trueProbability)); lastFixedNode = null; IfStructure s = new IfStructure(); @@ -298,12 +298,12 @@ if (thenPart != null && elsePart != null) { /* Both parts are alive, we need a real merge. */ - EndNode thenEnd = graph.add(EndNode.create()); + EndNode thenEnd = graph.add(new EndNode()); graph.addAfterFixed(thenPart, thenEnd); - EndNode elseEnd = graph.add(EndNode.create()); + EndNode elseEnd = graph.add(new EndNode()); graph.addAfterFixed(elsePart, elseEnd); - MergeNode merge = graph.add(MergeNode.create()); + MergeNode merge = graph.add(new MergeNode()); merge.addForwardEnd(thenEnd); merge.addForwardEnd(elseEnd);
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java Mon Jan 12 20:39:04 2015 +0100 @@ -160,7 +160,7 @@ // Can simply use the phi result if the same materialized values are expected. return result; } else { - return graph.unique(ConditionalNode.create(asCondition(trueValue), t, f)); + return graph.unique(new ConditionalNode(asCondition(trueValue), t, f)); } } }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -85,15 +85,15 @@ ResolvedJavaType[] parameterTypes = resolveJavaTypes(target.toParameterTypes(), declaringClass); - // Prepare the arguments for the reflective factory method call on the node class. - Object[] nodeFactoryArguments = prepareArguments(methodCallTargetNode, parameterTypes, target, false); - if (nodeFactoryArguments == null) { + // Prepare the arguments for the reflective constructor call on the node class. + Object[] nodeConstructorArguments = prepareArguments(methodCallTargetNode, parameterTypes, target, false); + if (nodeConstructorArguments == null) { return false; } // Create the new node instance. ResolvedJavaType c = getNodeClass(target, intrinsic); - Node newInstance = createNodeInstance(graph, c, parameterTypes, methodCallTargetNode.invoke().asNode().stamp(), intrinsic.setStampFromReturnType(), nodeFactoryArguments); + Node newInstance = createNodeInstance(graph, c, parameterTypes, methodCallTargetNode.invoke().asNode().stamp(), intrinsic.setStampFromReturnType(), nodeConstructorArguments); // Replace the invoke with the new node. newInstance = graph.addOrUnique(newInstance); @@ -150,7 +150,7 @@ /** * Converts the arguments of an invoke node to object values suitable for use as the arguments - * to a reflective invocation of a Java method. + * to a reflective invocation of a Java constructor or method. * * @param folding specifies if the invocation is for handling a {@link Fold} annotation * @return the arguments for the reflective invocation or null if an argument of {@code invoke} @@ -220,38 +220,35 @@ } protected Node createNodeInstance(StructuredGraph graph, ResolvedJavaType nodeClass, ResolvedJavaType[] parameterTypes, Stamp invokeStamp, boolean setStampFromReturnType, - Object[] nodeFactoryArguments) { - ResolvedJavaMethod factory = null; + Object[] nodeConstructorArguments) { + ResolvedJavaMethod constructor = null; Object[] arguments = null; - for (ResolvedJavaMethod m : nodeClass.getDeclaredMethods()) { - if (m.getName().equals("create") && !m.isSynthetic()) { - Object[] match = match(graph, invokeStamp, m, parameterTypes, nodeFactoryArguments); + for (ResolvedJavaMethod c : nodeClass.getDeclaredConstructors()) { + Object[] match = match(graph, invokeStamp, c, parameterTypes, nodeConstructorArguments); - if (match != null) { - if (factory == null) { - factory = m; - arguments = match; - } else { - throw new GraalInternalError("Found multiple factory methods in %s compatible with signature %s: %s, %s", nodeClass.toJavaName(), sigString(parameterTypes), - factory.format("%n(%p)%r"), m.format("%n(%p)%r")); - } + if (match != null) { + if (constructor == null) { + constructor = c; + arguments = match; + } else { + throw new GraalInternalError("Found multiple constructors in %s compatible with signature %s: %s, %s", nodeClass.toJavaName(), sigString(parameterTypes), constructor, c); } } } - if (factory == null) { - throw new GraalInternalError("Could not find factory method in %s compatible with signature %s", nodeClass.toJavaName(), sigString(parameterTypes)); + if (constructor == null) { + throw new GraalInternalError("Could not find constructor in %s compatible with signature %s", nodeClass.toJavaName(), sigString(parameterTypes)); } try { - ValueNode intrinsicNode = (ValueNode) snippetReflection.invoke(factory, null, arguments); + ValueNode intrinsicNode = (ValueNode) snippetReflection.invoke(constructor, null, arguments); if (setStampFromReturnType) { intrinsicNode.setStamp(invokeStamp); } return intrinsicNode; } catch (Exception e) { - throw new RuntimeException(factory + Arrays.toString(nodeFactoryArguments), e); + throw new RuntimeException(constructor + Arrays.toString(nodeConstructorArguments), e); } } @@ -277,14 +274,14 @@ return true; } - private Object[] match(StructuredGraph graph, Stamp invokeStamp, ResolvedJavaMethod m, ResolvedJavaType[] parameterTypes, Object[] nodeFactoryArguments) { + private Object[] match(StructuredGraph graph, Stamp invokeStamp, ResolvedJavaMethod c, ResolvedJavaType[] parameterTypes, Object[] nodeConstructorArguments) { Object[] arguments = null; Object[] injected = null; - ResolvedJavaType[] signature = resolveJavaTypes(m.getSignature().toParameterTypes(null), m.getDeclaringClass()); + ResolvedJavaType[] signature = resolveJavaTypes(c.getSignature().toParameterTypes(null), c.getDeclaringClass()); MetaAccessProvider metaAccess = providers.getMetaAccess(); for (int i = 0; i < signature.length; i++) { - if (m.getParameterAnnotation(InjectedNodeParameter.class, i) != null) { + if (c.getParameterAnnotation(InjectedNodeParameter.class, i) != null) { injected = injected == null ? new Object[1] : Arrays.copyOf(injected, injected.length + 1); Object injectedParameter = snippetReflection.getInjectedNodeIntrinsicParameter(signature[i]); if (injectedParameter != null) { @@ -302,24 +299,24 @@ } else if (signature[i].isAssignableFrom(metaAccess.lookupJavaType(StampProvider.class))) { injected[injected.length - 1] = providers.getStampProvider(); } else { - throw new GraalInternalError("Cannot handle injected argument of type %s in %s", signature[i].toJavaName(), m.format("%H.%n(%p)")); + throw new GraalInternalError("Cannot handle injected argument of type %s in %s", signature[i].toJavaName(), c.format("%H.%n(%p)")); } } else { if (i > 0) { // Chop injected arguments from signature signature = Arrays.copyOfRange(signature, i, signature.length); } - assert checkNoMoreInjected(m, i); + assert checkNoMoreInjected(c, i); break; } } if (Arrays.equals(parameterTypes, signature)) { // Exact match - arguments = nodeFactoryArguments; + arguments = nodeConstructorArguments; } else if (signature.length > 0 && signature[signature.length - 1].isArray()) { - // Last parameter is an array, so check if we have a vararg match + // Last constructor parameter is an array, so check if we have a vararg match int fixedArgs = signature.length - 1; if (parameterTypes.length < fixedArgs) { return null; @@ -332,20 +329,20 @@ ResolvedJavaType componentType = signature[fixedArgs].getComponentType(); assert componentType != null; - for (int i = fixedArgs; i < nodeFactoryArguments.length; i++) { + for (int i = fixedArgs; i < nodeConstructorArguments.length; i++) { if (!parameterTypes[i].equals(componentType)) { return null; } } - arguments = Arrays.copyOf(nodeFactoryArguments, fixedArgs + 1); - arguments[fixedArgs] = snippetReflection.newArray(componentType, nodeFactoryArguments.length - fixedArgs); + arguments = Arrays.copyOf(nodeConstructorArguments, fixedArgs + 1); + arguments[fixedArgs] = snippetReflection.newArray(componentType, nodeConstructorArguments.length - fixedArgs); Object varargs = arguments[fixedArgs]; - for (int i = fixedArgs; i < nodeFactoryArguments.length; i++) { + for (int i = fixedArgs; i < nodeConstructorArguments.length; i++) { if (componentType.isPrimitive()) { - Array.set(varargs, i - fixedArgs, nodeFactoryArguments[i]); + Array.set(varargs, i - fixedArgs, nodeConstructorArguments[i]); } else { - ((Object[]) varargs)[i - fixedArgs] = nodeFactoryArguments[i]; + ((Object[]) varargs)[i - fixedArgs] = nodeConstructorArguments[i]; } } } else {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Mon Jan 12 20:39:04 2015 +0100 @@ -588,7 +588,7 @@ MetaAccessProvider metaAccess = replacements.providers.getMetaAccess(); if (MethodsElidedInSnippets != null && methodToParse.getSignature().getReturnKind() == Kind.Void && MethodFilter.matches(MethodsElidedInSnippets, methodToParse)) { - graph.addAfterFixed(graph.start(), graph.add(ReturnNode.create(null))); + graph.addAfterFixed(graph.start(), graph.add(new ReturnNode(null))); } else { createGraphBuilder(metaAccess, GraphBuilderConfiguration.getSnippetDefault(), OptimisticOptimizations.NONE).apply(graph); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Mon Jan 12 20:39:04 2015 +0100 @@ -395,11 +395,7 @@ protected final Varargs varargs; - public static VarargsPlaceholderNode create(Varargs varargs, MetaAccessProvider metaAccess) { - return new VarargsPlaceholderNode(varargs, metaAccess); - } - - protected VarargsPlaceholderNode(Varargs varargs, MetaAccessProvider metaAccess) { + public VarargsPlaceholderNode(Varargs varargs, MetaAccessProvider metaAccess) { super(StampFactory.exactNonNull(metaAccess.lookupJavaType(varargs.componentType).getArrayClass())); this.varargs = varargs; } @@ -597,7 +593,7 @@ nodeReplacements.put(snippetGraph.getParameter(i), constantNode); } else if (args.info.isVarargsParameter(i)) { Varargs varargs = (Varargs) args.values[i]; - VarargsPlaceholderNode placeholder = snippetCopy.unique(VarargsPlaceholderNode.create(varargs, providers.getMetaAccess())); + VarargsPlaceholderNode placeholder = snippetCopy.unique(new VarargsPlaceholderNode(varargs, providers.getMetaAccess())); nodeReplacements.put(snippetGraph.getParameter(i), placeholder); placeholders[i] = placeholder; } @@ -625,7 +621,7 @@ assert parameterCount < 10000; int idx = (i + 1) * 10000 + j; assert idx >= parameterCount : "collision in parameter numbering"; - ParameterNode local = snippetCopy.unique(ParameterNode.create(idx, stamp)); + ParameterNode local = snippetCopy.unique(new ParameterNode(idx, stamp)); params[j] = local; } parameters[i] = params; @@ -636,7 +632,7 @@ if (usage instanceof LoadIndexedNode) { LoadIndexedNode loadIndexed = (LoadIndexedNode) usage; Debug.dump(snippetCopy, "Before replacing %s", loadIndexed); - LoadSnippetVarargParameterNode loadSnippetParameter = snippetCopy.add(LoadSnippetVarargParameterNode.create(params, loadIndexed.index(), loadIndexed.stamp())); + LoadSnippetVarargParameterNode loadSnippetParameter = snippetCopy.add(new LoadSnippetVarargParameterNode(params, loadIndexed.index(), loadIndexed.stamp())); snippetCopy.replaceFixedWithFixed(loadIndexed, loadSnippetParameter); Debug.dump(snippetCopy, "After replacing %s", loadIndexed); } else if (usage instanceof StoreIndexedNode) { @@ -722,7 +718,7 @@ new FloatingReadPhase(false, true, false).apply(snippetCopy); - MemoryAnchorNode memoryAnchor = snippetCopy.add(MemoryAnchorNode.create()); + MemoryAnchorNode memoryAnchor = snippetCopy.add(new MemoryAnchorNode()); snippetCopy.start().replaceAtUsages(InputType.Memory, memoryAnchor); this.snippet = snippetCopy; @@ -741,12 +737,12 @@ } else if (returnNodes.size() == 1) { this.returnNode = returnNodes.get(0); } else { - MergeNode merge = snippet.add(MergeNode.create()); + MergeNode merge = snippet.add(new MergeNode()); List<MemoryMapNode> memMaps = returnNodes.stream().map(n -> n.getMemoryMap()).collect(Collectors.toList()); ValueNode returnValue = InliningUtil.mergeReturns(merge, returnNodes, null); - this.returnNode = snippet.add(ReturnNode.create(returnValue)); + this.returnNode = snippet.add(new ReturnNode(returnValue)); MemoryMapImpl mmap = FloatingReadPhase.mergeMemoryMaps(merge, memMaps, false); - MemoryMapNode memoryMap = snippet.unique(MemoryMapNode.create(mmap.getMap())); + MemoryMapNode memoryMap = snippet.unique(new MemoryMapNode(mmap.getMap())); this.returnNode.setMemoryMap(memoryMap); for (MemoryMapNode mm : memMaps) { if (mm != memoryMap && mm.isAlive()) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -50,18 +50,12 @@ /** Length of both arrays. */ @Input ValueNode length; - public static ArrayEqualsNode create(ValueNode array1, ValueNode array2, ValueNode length) { - return new ArrayEqualsNode(array1, array2, length); - } - - protected ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length) { + public ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length) { super(StampFactory.forKind(Kind.Boolean)); - assert array1.stamp().equals(array2.stamp()); ObjectStamp array1Stamp = (ObjectStamp) array1.stamp(); ResolvedJavaType componentType = array1Stamp.type().getComponentType(); this.kind = componentType.getKind(); - this.array1 = array1; this.array2 = array2; this.length = length;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ protected final boolean compileTimeAssertion; protected final String message; - public static AssertionNode create(boolean compileTimeAssertion, ValueNode value, String message) { - return new AssertionNode(compileTimeAssertion, value, message); - } - - protected AssertionNode(boolean compileTimeAssertion, ValueNode value, String message) { + public AssertionNode(boolean compileTimeAssertion, ValueNode value, String message) { super(StampFactory.forVoid()); this.value = value; this.compileTimeAssertion = compileTimeAssertion;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo public class BasicArrayCopyNode extends MacroStateSplitNode implements Virtualizable { - public static BasicArrayCopyNode create(Invoke invoke) { - return new BasicArrayCopyNode(invoke); - } - - protected BasicArrayCopyNode(Invoke invoke) { + public BasicArrayCopyNode(Invoke invoke) { super(invoke); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class BasicObjectCloneNode extends MacroStateSplitNode implements VirtualizableAllocation, ArrayLengthProvider { - public static BasicObjectCloneNode create(Invoke invoke) { - return new BasicObjectCloneNode(invoke); - } - - protected BasicObjectCloneNode(Invoke invoke) { + public BasicObjectCloneNode(Invoke invoke) { super(invoke); } @@ -117,7 +113,7 @@ ValueNode[] state = new ValueNode[fields.length]; final LoadFieldNode[] loads = new LoadFieldNode[fields.length]; for (int i = 0; i < fields.length; i++) { - state[i] = loads[i] = LoadFieldNode.create(obj, fields[i]); + state[i] = loads[i] = new LoadFieldNode(obj, fields[i]); tool.addNode(loads[i]); } tool.createVirtualObject(newVirtual, state, Collections.<MonitorIdNode> emptyList()); @@ -127,7 +123,7 @@ } protected VirtualInstanceNode createVirtualInstanceNode(ResolvedJavaType type, boolean hasIdentity) { - return VirtualInstanceNode.create(type, hasIdentity); + return new VirtualInstanceNode(type, hasIdentity); } @Override
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo public class BitCountNode extends UnaryNode implements LIRLowerable { - public static BitCountNode create(ValueNode value) { - return new BitCountNode(value); - } - - protected BitCountNode(ValueNode value) { + public BitCountNode(ValueNode value) { super(StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); assert value.getKind() == Kind.Int || value.getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class BitScanForwardNode extends UnaryNode implements LIRLowerable { - public static BitScanForwardNode create(ValueNode value) { - return new BitScanForwardNode(value); - } - - protected BitScanForwardNode(ValueNode value) { + public BitScanForwardNode(ValueNode value) { super(StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); assert value.getKind() == Kind.Int || value.getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class BitScanReverseNode extends UnaryNode implements LIRLowerable { - public static BitScanReverseNode create(ValueNode value) { - return new BitScanReverseNode(value); - } - - protected BitScanReverseNode(ValueNode value) { + public BitScanReverseNode(ValueNode value) { super(StampFactory.forInteger(Kind.Int, 0, ((PrimitiveStamp) value.stamp()).getBits()), value); assert value.getKind() == Kind.Int || value.getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DeferredPiNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DeferredPiNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,11 +48,7 @@ return object; } - public static DeferredPiNode create(ValueNode type, ValueNode object) { - return new DeferredPiNode(type, object); - } - - protected DeferredPiNode(ValueNode type, ValueNode object) { + public DeferredPiNode(ValueNode type, ValueNode object) { super(StampFactory.object()); this.type = type; this.object = object; @@ -63,7 +59,7 @@ if (type.isConstant()) { ResolvedJavaType javaType = tool.getConstantReflection().asJavaType(type.asConstant()); ObjectStamp objectStamp = (ObjectStamp) stamp(); - return PiNode.create(object, javaType, objectStamp.isExactType(), objectStamp.nonNull()); + return new PiNode(object, javaType, objectStamp.isExactType(), objectStamp.nonNull()); } return this; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -44,11 +44,7 @@ protected final LocationIdentity locationIdentity; protected final Kind storeKind; - public static DirectObjectStoreNode create(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity, Kind storeKind) { - return new DirectObjectStoreNode(object, displacement, offset, value, locationIdentity, storeKind); - } - - protected DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity, Kind storeKind) { + public DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity, Kind storeKind) { super(StampFactory.forVoid()); this.object = object; this.value = value; @@ -68,8 +64,8 @@ @Override public void lower(LoweringTool tool) { - IndexedLocationNode location = IndexedLocationNode.create(locationIdentity, displacement, offset, graph(), 1); - JavaWriteNode write = graph().add(JavaWriteNode.create(storeKind, object, value, location, BarrierType.NONE, storeKind == Kind.Object, false)); + IndexedLocationNode location = graph().unique(new IndexedLocationNode(locationIdentity, displacement, offset, 1)); + JavaWriteNode write = graph().add(new JavaWriteNode(storeKind, object, value, location, BarrierType.NONE, storeKind == Kind.Object, false)); graph().replaceFixedWithFixed(this, write); tool.getLowerer().lower(write, tool);
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,11 +41,7 @@ @Input protected ValueNode address; protected final Kind readKind; - public static DirectReadNode create(ValueNode address, Kind readKind) { - return new DirectReadNode(address, readKind); - } - - protected DirectReadNode(ValueNode address, Kind readKind) { + public DirectReadNode(ValueNode address, Kind readKind) { super(StampFactory.forKind(readKind.getStackKind())); this.address = address; this.readKind = readKind;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,11 +42,7 @@ @Input protected ValueNode value; protected final Kind kind; - public static DirectStoreNode create(ValueNode address, ValueNode value, Kind kind) { - return new DirectStoreNode(address, value, kind); - } - - protected DirectStoreNode(ValueNode address, ValueNode value, Kind kind) { + public DirectStoreNode(ValueNode address, ValueNode value, Kind kind) { super(StampFactory.forVoid()); this.address = address; this.value = value;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @NodeInfo public class ExplodeLoopNode extends FixedWithNextNode { - public static ExplodeLoopNode create() { - return new ExplodeLoopNode(); - } - - protected ExplodeLoopNode() { + public ExplodeLoopNode() { super(StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @Input NodeInputList<ParameterNode> parameters; - public static LoadSnippetVarargParameterNode create(ParameterNode[] locals, ValueNode index, Stamp stamp) { - return new LoadSnippetVarargParameterNode(locals, index, stamp); - } - - protected LoadSnippetVarargParameterNode(ParameterNode[] locals, ValueNode index, Stamp stamp) { + public LoadSnippetVarargParameterNode(ParameterNode[] locals, ValueNode index, Stamp stamp) { super(stamp); this.index = index; this.parameters = new NodeInputList<>(this, locals);
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -66,11 +66,7 @@ protected final JavaType returnType; protected final InvokeKind invokeKind; - public static MacroNode create(Invoke invoke) { - return new MacroNode(invoke); - } - - protected MacroNode(Invoke invoke) { + public MacroNode(Invoke invoke) { super(StampFactory.forKind(((MethodCallTargetNode) invoke.callTarget()).targetMethod().getSignature().getReturnKind())); MethodCallTargetNode methodCallTarget = (MethodCallTargetNode) invoke.callTarget(); this.arguments = new NodeInputList<>(this, methodCallTarget.arguments()); @@ -188,8 +184,8 @@ } protected InvokeNode createInvoke() { - MethodCallTargetNode callTarget = graph().add(MethodCallTargetNode.create(invokeKind, targetMethod, arguments.toArray(new ValueNode[arguments.size()]), returnType)); - InvokeNode invoke = graph().add(InvokeNode.create(callTarget, bci)); + MethodCallTargetNode callTarget = graph().add(new MethodCallTargetNode(invokeKind, targetMethod, arguments.toArray(new ValueNode[arguments.size()]), returnType)); + InvokeNode invoke = graph().add(new InvokeNode(callTarget, bci)); if (stateAfter() != null) { invoke.setStateAfter(stateAfter().duplicate()); if (getKind() != Kind.Void) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @OptionalInput(InputType.State) protected FrameState stateAfter; - public static MacroStateSplitNode create(Invoke invoke) { - return new MacroStateSplitNode(invoke); - } - - protected MacroStateSplitNode(Invoke invoke) { + public MacroStateSplitNode(Invoke invoke) { super(invoke); this.stateAfter = invoke.stateAfter(); } @@ -75,7 +71,7 @@ } assert invoke.stateAfter().bci == BytecodeFrame.AFTER_BCI; // Here we need to fix the bci of the invoke - InvokeNode newInvoke = snippetGraph.add(InvokeNode.create(invoke.callTarget(), getBci())); + InvokeNode newInvoke = snippetGraph.add(new InvokeNode(invoke.callTarget(), getBci())); newInvoke.setStateAfter(invoke.stateAfter()); snippetGraph.replaceFixedWithFixed((InvokeNode) invoke.asNode(), newInvoke); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -49,11 +49,7 @@ return operation; } - public static MathIntrinsicNode create(ValueNode value, Operation op) { - return new MathIntrinsicNode(value, op); - } - - protected MathIntrinsicNode(ValueNode value, Operation op) { + public MathIntrinsicNode(ValueNode value, Operation op) { super(StampFactory.forKind(Kind.Double), value); assert value.stamp() instanceof FloatStamp && PrimitiveStamp.getBits(value.stamp()) == 64; this.operation = op;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo(allowedUsageTypes = {InputType.Memory}) public class MemoryAnchorNode extends FixedWithNextNode implements LIRLowerable, MemoryNode, Canonicalizable { - public static MemoryAnchorNode create() { - return new MemoryAnchorNode(); - } - - protected MemoryAnchorNode() { + public MemoryAnchorNode() { super(StampFactory.forVoid()); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -53,11 +53,7 @@ */ protected final boolean incoming; - public static ReadRegisterNode create(Register register, Kind kind, boolean directUse, boolean incoming) { - return new ReadRegisterNode(register, kind, directUse, incoming); - } - - protected ReadRegisterNode(Register register, Kind kind, boolean directUse, boolean incoming) { + public ReadRegisterNode(Register register, Kind kind, boolean directUse, boolean incoming) { super(StampFactory.forKind(kind)); assert register != null; this.register = register; @@ -65,15 +61,7 @@ this.incoming = incoming; } - /** - * Constructor to be used by node intrinsics where the stamp is inferred from the intrinsic - * definition. - */ - public static ReadRegisterNode create(Register register, boolean directUse, boolean incoming) { - return new ReadRegisterNode(register, directUse, incoming); - } - - protected ReadRegisterNode(Register register, boolean directUse, boolean incoming) { + public ReadRegisterNode(Register register, boolean directUse, boolean incoming) { super(StampFactory.forNodeIntrinsic()); assert register != null; this.register = register;
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -34,11 +34,7 @@ @NodeInfo public class ReverseBytesNode extends UnaryNode implements LIRLowerable { - public static ReverseBytesNode create(ValueNode value) { - return new ReverseBytesNode(value); - } - - protected ReverseBytesNode(ValueNode value) { + public ReverseBytesNode(ValueNode value) { super(StampFactory.forKind(value.getKind()), value); assert getKind() == Kind.Int || getKind() == Kind.Long; }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ */ @Input ValueNode value; - public static WriteRegisterNode create(Register register, ValueNode value) { - return new WriteRegisterNode(register, value); - } - - protected WriteRegisterNode(Register register, ValueNode value) { + public WriteRegisterNode(Register register, ValueNode value) { super(StampFactory.forVoid()); this.register = register; this.value = value;
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Mon Jan 12 20:39:04 2015 +0100 @@ -329,8 +329,8 @@ ValueNode length = GraphUtil.arrayLength(arg); if (length != null && length.isConstant()) { param.usages().snapshotTo(modifiedNodes); - ParameterNode newParam = graphCopy.addWithoutUnique(ParameterNode.create(param.index(), param.stamp())); - param.replaceAndDelete(graphCopy.addWithoutUnique(PiArrayNode.create(newParam, ConstantNode.forInt(length.asJavaConstant().asInt(), graphCopy), param.stamp()))); + ParameterNode newParam = graphCopy.addWithoutUnique(new ParameterNode(param.index(), param.stamp())); + param.replaceAndDelete(graphCopy.addWithoutUnique(new PiArrayNode(newParam, ConstantNode.forInt(length.asJavaConstant().asInt(), graphCopy), param.stamp()))); } } }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Mon Jan 12 20:39:04 2015 +0100 @@ -319,7 +319,7 @@ boolean removeAllocation = runtimeExceptionClass.isAssignableFrom(declaringClass) || errorClass.isAssignableFrom(declaringClass); boolean isControlFlowException = controlFlowExceptionClass.isAssignableFrom(exceptionType); if (removeAllocation && !isControlFlowException) { - DeoptimizeNode deoptNode = methodCallTargetNode.graph().add(DeoptimizeNode.create(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.UnreachedCode)); + DeoptimizeNode deoptNode = methodCallTargetNode.graph().add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.UnreachedCode)); FixedNode invokeNode = methodCallTargetNode.invoke().asNode(); invokeNode.replaceAtPredecessor(deoptNode); GraphUtil.killCFG(invokeNode);
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,11 +37,7 @@ @NodeInfo public class AssumptionNode extends MacroNode implements com.oracle.graal.graph.IterableNodeType, Simplifiable { - public static AssumptionNode create(Invoke invoke) { - return new AssumptionNode(invoke); - } - - protected AssumptionNode(Invoke invoke) { + public AssumptionNode(Invoke invoke) { super(invoke); assert super.arguments.size() == 1; } @@ -84,7 +80,7 @@ graph.replaceFixedWithFloating(this, ConstantNode.forBoolean(false, graph())); } else { tool.deleteBranch(this.next()); - this.replaceAndDelete(graph.add(DeoptimizeNode.create(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.None))); + this.replaceAndDelete(graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.None))); } } }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo public class BailoutNode extends MacroNode implements Canonicalizable { - public static BailoutNode create(Invoke invoke) { - return new BailoutNode(invoke); - } - - protected BailoutNode(Invoke invoke) { + public BailoutNode(Invoke invoke) { super(invoke); assert arguments.size() == 1; }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,11 +33,7 @@ @NodeInfo public class IsCompilationConstantNode extends MacroStateSplitNode implements Canonicalizable { - public static IsCompilationConstantNode create(Invoke invoke) { - return new IsCompilationConstantNode(invoke); - } - - protected IsCompilationConstantNode(Invoke invoke) { + public IsCompilationConstantNode(Invoke invoke) { super(invoke); assert arguments.size() == 1; }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class IntegerAddExactNode extends AddNode implements IntegerExactArithmeticNode { - public static IntegerAddExactNode create(ValueNode x, ValueNode y) { - return new IntegerAddExactNode(x, y); - } - - protected IntegerAddExactNode(ValueNode x, ValueNode y) { + public IntegerAddExactNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp().isCompatible(y.stamp()) && x.stamp() instanceof IntegerStamp; } @@ -56,7 +52,7 @@ @Override public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) { if (forX.isConstant() && !forY.isConstant()) { - return IntegerAddExactNode.create(forY, forX); + return new IntegerAddExactNode(forY, forX); } if (forX.isConstant()) { return canonicalXconstant(forX, forY); @@ -88,7 +84,7 @@ @Override public IntegerExactArithmeticSplitNode createSplit(BeginNode next, BeginNode deopt) { - return graph().add(IntegerAddExactSplitNode.create(stamp(), getX(), getY(), next, deopt)); + return graph().add(new IntegerAddExactSplitNode(stamp(), getX(), getY(), next, deopt)); } @Override
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @NodeInfo public class IntegerAddExactSplitNode extends IntegerExactArithmeticSplitNode { - public static IntegerAddExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { - return new IntegerAddExactSplitNode(stamp, x, y, next, overflowSuccessor); - } - - protected IntegerAddExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { + public IntegerAddExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { super(stamp, x, y, next, overflowSuccessor); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -80,8 +80,8 @@ FixedWithNextNode previous = tool.lastFixedNode(); FixedNode next = previous.next(); previous.setNext(null); - DeoptimizeNode deopt = floatingNode.graph().add(DeoptimizeNode.create(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.ArithmeticException)); - BeginNode normalBegin = floatingNode.graph().add(BeginNode.create()); + DeoptimizeNode deopt = floatingNode.graph().add(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.ArithmeticException)); + BeginNode normalBegin = floatingNode.graph().add(new BeginNode()); normalBegin.setNext(next); IntegerExactArithmeticSplitNode split = node.createSplit(normalBegin, BeginNode.begin(deopt)); previous.setNext(split);
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -38,11 +38,7 @@ @NodeInfo public class IntegerMulExactNode extends MulNode implements IntegerExactArithmeticNode { - public static IntegerMulExactNode create(ValueNode x, ValueNode y) { - return new IntegerMulExactNode(x, y); - } - - protected IntegerMulExactNode(ValueNode x, ValueNode y) { + public IntegerMulExactNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp().isCompatible(y.stamp()) && x.stamp() instanceof IntegerStamp; } @@ -50,7 +46,7 @@ @Override public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) { if (forX.isConstant() && !forY.isConstant()) { - return IntegerMulExactNode.create(forY, forX); + return new IntegerMulExactNode(forY, forX); } if (forX.isConstant()) { return canonicalXconstant(forX, forY); @@ -85,7 +81,7 @@ @Override public IntegerExactArithmeticSplitNode createSplit(BeginNode next, BeginNode deopt) { - return graph().add(IntegerMulExactSplitNode.create(stamp(), getX(), getY(), next, deopt)); + return graph().add(new IntegerMulExactSplitNode(stamp(), getX(), getY(), next, deopt)); } @Override
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @NodeInfo public class IntegerMulExactSplitNode extends IntegerExactArithmeticSplitNode { - public static IntegerMulExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { - return new IntegerMulExactSplitNode(stamp, x, y, next, overflowSuccessor); - } - - protected IntegerMulExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { + public IntegerMulExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { super(stamp, x, y, next, overflowSuccessor); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,19 +37,11 @@ @NodeInfo(shortName = "*H") public class IntegerMulHighNode extends BinaryNode implements ArithmeticLIRLowerable { - public static IntegerMulHighNode create(ValueNode x, ValueNode y) { - return new IntegerMulHighNode(x, y); - } - - protected IntegerMulHighNode(ValueNode x, ValueNode y) { + public IntegerMulHighNode(ValueNode x, ValueNode y) { this((IntegerStamp) x.stamp().unrestricted(), x, y); } - public static IntegerMulHighNode create(IntegerStamp stamp, ValueNode x, ValueNode y) { - return new IntegerMulHighNode(stamp, x, y); - } - - protected IntegerMulHighNode(IntegerStamp stamp, ValueNode x, ValueNode y) { + public IntegerMulHighNode(IntegerStamp stamp, ValueNode x, ValueNode y) { super(stamp, x, y); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,11 +39,7 @@ @NodeInfo public class IntegerSubExactNode extends SubNode implements IntegerExactArithmeticNode { - public static IntegerSubExactNode create(ValueNode x, ValueNode y) { - return new IntegerSubExactNode(x, y); - } - - protected IntegerSubExactNode(ValueNode x, ValueNode y) { + public IntegerSubExactNode(ValueNode x, ValueNode y) { super(x, y); assert x.stamp().isCompatible(y.stamp()) && x.stamp() instanceof IntegerStamp; } @@ -89,7 +85,7 @@ @Override public IntegerExactArithmeticSplitNode createSplit(BeginNode next, BeginNode deopt) { - return graph().add(IntegerSubExactSplitNode.create(stamp(), getX(), getY(), next, deopt)); + return graph().add(new IntegerSubExactSplitNode(stamp(), getX(), getY(), next, deopt)); } @Override
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -31,11 +31,7 @@ @NodeInfo public class IntegerSubExactSplitNode extends IntegerExactArithmeticSplitNode { - public static IntegerSubExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { - return new IntegerSubExactSplitNode(stamp, x, y, next, overflowSuccessor); - } - - protected IntegerSubExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { + public IntegerSubExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) { super(stamp, x, y, next, overflowSuccessor); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,19 +37,11 @@ @NodeInfo(shortName = "|*H|") public class UnsignedMulHighNode extends BinaryNode implements ArithmeticLIRLowerable { - public static UnsignedMulHighNode create(ValueNode x, ValueNode y) { - return new UnsignedMulHighNode(x, y); - } - - protected UnsignedMulHighNode(ValueNode x, ValueNode y) { + public UnsignedMulHighNode(ValueNode x, ValueNode y) { this((IntegerStamp) x.stamp().unrestricted(), x, y); } - public static UnsignedMulHighNode create(IntegerStamp stamp, ValueNode x, ValueNode y) { - return new UnsignedMulHighNode(stamp, x, y); - } - - protected UnsignedMulHighNode(IntegerStamp stamp, ValueNode x, ValueNode y) { + public UnsignedMulHighNode(IntegerStamp stamp, ValueNode x, ValueNode y) { super(stamp, x, y); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -30,15 +30,12 @@ @NodeInfo public class CompilationConstantNode extends NeverPartOfCompilationNode implements Canonicalizable { - public static CompilationConstantNode create(Invoke invoke) { - return new CompilationConstantNode(invoke); - } - - protected CompilationConstantNode(Invoke invoke) { + public CompilationConstantNode(Invoke invoke) { super(invoke, "The value could not be reduced to a compile time constant."); assert arguments.size() == 1; } + @Override public Node canonical(CanonicalizerTool tool) { if (arguments.get(0).isConstant()) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -30,13 +30,10 @@ @NodeInfo public class NeverInlineMacroNode extends MacroStateSplitNode implements com.oracle.graal.graph.IterableNodeType { - public static NeverInlineMacroNode create(Invoke invoke) { - return new NeverInlineMacroNode(invoke); + public NeverInlineMacroNode(Invoke invoke) { + super(invoke); } - protected NeverInlineMacroNode(Invoke invoke) { - super(invoke); - } @Override public void lower(LoweringTool tool) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,23 +32,17 @@ protected final String message; - public static NeverPartOfCompilationNode create(Invoke invoke) { - return new NeverPartOfCompilationNode(invoke); - } - - protected NeverPartOfCompilationNode(Invoke invoke) { + public NeverPartOfCompilationNode(Invoke invoke) { this(invoke, "This code path should never be part of a compilation."); } - public static NeverPartOfCompilationNode create(Invoke invoke, String message) { - return new NeverPartOfCompilationNode(invoke, message); - } - protected NeverPartOfCompilationNode(Invoke invoke, String message) { + public NeverPartOfCompilationNode(Invoke invoke, String message) { super(invoke); this.message = message; } + public final String getMessage() { return message + " " + arguments.toString(); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -32,15 +32,12 @@ @Input ValueNode object; - public static ForceMaterializeNode create(ValueNode object) { - return new ForceMaterializeNode(object); - } - - protected ForceMaterializeNode(ValueNode object) { + public ForceMaterializeNode(ValueNode object) { super(StampFactory.forVoid()); this.object = object; } + public void generate(NodeLIRBuilderTool generator) { // nothing to do }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -35,15 +35,12 @@ @Input ValueNode frame; - public static MaterializeFrameNode create(ValueNode frame) { - return new MaterializeFrameNode(frame); - } - - protected MaterializeFrameNode(ValueNode frame) { + public MaterializeFrameNode(ValueNode frame) { super(frame.stamp()); this.frame = frame; } + public ValueNode getFrame() { return frame; }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -51,23 +51,17 @@ @Input ValueNode descriptor; @Input ValueNode arguments; - public static NewFrameNode create(Stamp stamp, ValueNode descriptor, ValueNode arguments) { - return new NewFrameNode(stamp, descriptor, arguments); - } - - protected NewFrameNode(Stamp stamp, ValueNode descriptor, ValueNode arguments) { + public NewFrameNode(Stamp stamp, ValueNode descriptor, ValueNode arguments) { super(stamp); this.descriptor = descriptor; this.arguments = arguments; } - public static NewFrameNode create(ResolvedJavaType frameType, ValueNode descriptor, ValueNode arguments) { - return new NewFrameNode(frameType, descriptor, arguments); + + public NewFrameNode(ResolvedJavaType frameType, ValueNode descriptor, ValueNode arguments) { + this(StampFactory.exactNonNull(frameType), descriptor, arguments); } - protected NewFrameNode(ResolvedJavaType frameType, ValueNode descriptor, ValueNode arguments) { - this(StampFactory.exactNonNull(frameType), descriptor, arguments); - } public ValueNode getDescriptor() { return descriptor; @@ -108,13 +102,10 @@ protected boolean allowMaterialization; - public static VirtualOnlyInstanceNode create(ResolvedJavaType type, ResolvedJavaField[] fields) { - return new VirtualOnlyInstanceNode(type, fields); + public VirtualOnlyInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields) { + super(type, fields, true); } - protected VirtualOnlyInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields) { - super(type, fields, true); - } @Override public ValueNode getMaterializedRepresentation(FixedNode fixed, ValueNode[] entries, LockState locks) { @@ -133,7 +124,7 @@ if (fixed instanceof MaterializeFrameNode || fixed instanceof AbstractEndNode || fixed instanceof ForceMaterializeNode) { // We need to conservatively assume that a materialization of a virtual frame can also // happen at a merge point. - return AllocatedObjectNode.create(virtualNode); + return new AllocatedObjectNode(virtualNode); } String escapeReason; if (fixed instanceof StoreFieldNode) { @@ -166,10 +157,10 @@ ResolvedJavaField primitiveLocalsField = findField(frameFields, "primitiveLocals"); ResolvedJavaField tagsField = findField(frameFields, "tags"); - VirtualObjectNode virtualFrame = VirtualOnlyInstanceNode.create(frameType, frameFields); - VirtualObjectNode virtualFrameObjectArray = VirtualArrayNode.create((ResolvedJavaType) localsField.getType().getComponentType(), frameSize); - VirtualObjectNode virtualFramePrimitiveArray = VirtualArrayNode.create((ResolvedJavaType) primitiveLocalsField.getType().getComponentType(), frameSize); - VirtualObjectNode virtualFrameTagArray = VirtualArrayNode.create((ResolvedJavaType) tagsField.getType().getComponentType(), frameSize); + VirtualObjectNode virtualFrame = new VirtualOnlyInstanceNode(frameType, frameFields); + VirtualObjectNode virtualFrameObjectArray = new VirtualArrayNode((ResolvedJavaType) localsField.getType().getComponentType(), frameSize); + VirtualObjectNode virtualFramePrimitiveArray = new VirtualArrayNode((ResolvedJavaType) primitiveLocalsField.getType().getComponentType(), frameSize); + VirtualObjectNode virtualFrameTagArray = new VirtualArrayNode((ResolvedJavaType) tagsField.getType().getComponentType(), frameSize); ValueNode[] objectArrayEntryState = new ValueNode[frameSize]; ValueNode[] primitiveArrayEntryState = new ValueNode[frameSize];
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -48,11 +48,7 @@ @Input ValueNode location; protected final Kind accessKind; - public static CustomizedUnsafeLoadFinalNode create(ValueNode object, ValueNode offset, ValueNode condition, ValueNode location, Kind accessKind) { - return new CustomizedUnsafeLoadFinalNode(object, offset, condition, location, accessKind); - } - - protected CustomizedUnsafeLoadFinalNode(ValueNode object, ValueNode offset, ValueNode condition, ValueNode location, Kind accessKind) { + public CustomizedUnsafeLoadFinalNode(ValueNode object, ValueNode offset, ValueNode condition, ValueNode location, Kind accessKind) { super(StampFactory.forKind(accessKind.getStackKind())); this.object = object; this.offset = offset; @@ -100,7 +96,7 @@ } else { locationIdentity = ObjectLocationIdentity.create(location.asJavaConstant()); } - UnsafeLoadNode result = graph().add(UnsafeLoadNode.create(object, offset, accessKind, locationIdentity, compare)); + UnsafeLoadNode result = graph().add(new UnsafeLoadNode(object, offset, accessKind, locationIdentity, compare)); graph().replaceFixedWithFixed(this, result); result.lower(tool); }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -47,11 +47,7 @@ private static final int CONDITION_ARGUMENT_INDEX = 2; private static final int LOCATION_ARGUMENT_INDEX = 3; - public static CustomizedUnsafeLoadMacroNode create(Invoke invoke) { - return new CustomizedUnsafeLoadMacroNode(invoke); - } - - protected CustomizedUnsafeLoadMacroNode(Invoke invoke) { + public CustomizedUnsafeLoadMacroNode(Invoke invoke) { super(invoke, "The location argument could not be resolved to a constant."); assert arguments.size() == ARGUMENT_COUNT; } @@ -71,7 +67,7 @@ } CompareNode compare = CompareNode.createCompareNode(Condition.EQ, conditionArgument, ConstantNode.forBoolean(true)); Kind returnKind = this.getTargetMethod().getSignature().getReturnKind(); - return UnsafeLoadNode.create(objectArgument, offsetArgument, returnKind, locationIdentity, compare); + return new UnsafeLoadNode(objectArgument, offsetArgument, returnKind, locationIdentity, compare); } return this; }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -43,11 +43,7 @@ private static final int VALUE_ARGUMENT_INDEX = 2; private static final int LOCATION_ARGUMENT_INDEX = 3; - public static CustomizedUnsafeStoreMacroNode create(Invoke invoke) { - return new CustomizedUnsafeStoreMacroNode(invoke); - } - - protected CustomizedUnsafeStoreMacroNode(Invoke invoke) { + public CustomizedUnsafeStoreMacroNode(Invoke invoke) { super(invoke, "The location argument could not be resolved to a constant."); assert arguments.size() == ARGUMENT_COUNT; } @@ -66,7 +62,7 @@ locationIdentity = ObjectLocationIdentity.create(locationArgument.asJavaConstant()); } - return UnsafeStoreNode.create(objectArgument, offsetArgument, valueArgument, this.getTargetMethod().getSignature().getParameterKind(VALUE_ARGUMENT_INDEX), locationIdentity, stateAfter()); + return new UnsafeStoreNode(objectArgument, offsetArgument, valueArgument, this.getTargetMethod().getSignature().getParameterKind(VALUE_ARGUMENT_INDEX), locationIdentity, stateAfter()); } return this; }
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -45,11 +45,7 @@ private static final int NONNULL_ARGUMENT_INDEX = 3; private static final int ARGUMENT_COUNT = 4; - public static UnsafeTypeCastMacroNode create(Invoke invoke) { - return new UnsafeTypeCastMacroNode(invoke); - } - - protected UnsafeTypeCastMacroNode(Invoke invoke) { + public UnsafeTypeCastMacroNode(Invoke invoke) { super(invoke, "The class of the unsafe cast could not be reduced to a compile time constant."); assert arguments.size() == ARGUMENT_COUNT; } @@ -69,8 +65,8 @@ } else { Stamp piStamp = StampFactory.declaredTrusted(lookupJavaType, nonNullArgument.asJavaConstant().asInt() != 0); ConditionAnchorNode valueAnchorNode = graph().add( - ConditionAnchorNode.create(CompareNode.createCompareNode(graph(), Condition.EQ, conditionArgument, ConstantNode.forBoolean(true, graph())))); - PiNode piCast = graph().unique(PiNode.create(objectArgument, piStamp, valueAnchorNode)); + new ConditionAnchorNode(CompareNode.createCompareNode(graph(), Condition.EQ, conditionArgument, ConstantNode.forBoolean(true, graph())))); + PiNode piCast = graph().unique(new PiNode(objectArgument, piStamp, valueAnchorNode)); replaceAtUsages(piCast); graph().replaceFixedWithFixed(this, valueAnchorNode); }
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java Mon Jan 12 20:39:04 2015 +0100 @@ -39,18 +39,14 @@ return materializedValue; } - public static MaterializedObjectState create(VirtualObjectNode object, ValueNode materializedValue) { - return new MaterializedObjectState(object, materializedValue); - } - - protected MaterializedObjectState(VirtualObjectNode object, ValueNode materializedValue) { + public MaterializedObjectState(VirtualObjectNode object, ValueNode materializedValue) { super(object); this.materializedValue = materializedValue; } @Override public MaterializedObjectState duplicateWithVirtualState() { - return graph().addWithoutUnique(MaterializedObjectState.create(object(), materializedValue)); + return graph().addWithoutUnique(new MaterializedObjectState(object(), materializedValue)); } @Override
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java Mon Jan 12 20:39:04 2015 +0100 @@ -41,21 +41,13 @@ return values; } - public static VirtualObjectState create(VirtualObjectNode object, ValueNode[] values) { - return new VirtualObjectState(object, values); - } - - protected VirtualObjectState(VirtualObjectNode object, ValueNode[] values) { + public VirtualObjectState(VirtualObjectNode object, ValueNode[] values) { super(object); assert object.entryCount() == values.length; this.values = new NodeInputList<>(this, values); } - public static VirtualObjectState create(VirtualObjectNode object, List<ValueNode> values) { - return new VirtualObjectState(object, values); - } - - protected VirtualObjectState(VirtualObjectNode object, List<ValueNode> values) { + public VirtualObjectState(VirtualObjectNode object, List<ValueNode> values) { super(object); assert object.entryCount() == values.size(); this.values = new NodeInputList<>(this, values); @@ -63,7 +55,7 @@ @Override public VirtualObjectState duplicateWithVirtualState() { - return graph().addWithoutUnique(VirtualObjectState.create(object(), values)); + return graph().addWithoutUnique(new VirtualObjectState(object(), values)); } @Override
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java Mon Jan 12 20:39:04 2015 +0100 @@ -125,7 +125,7 @@ if (initialState.getReadCache().get(entry.getKey()) != entry.getValue()) { ValueNode value = exitState.getReadCache(entry.getKey().object, entry.getKey().identity, this); if (!(value instanceof ProxyNode) || ((ProxyNode) value).proxyPoint() != exitNode) { - ProxyNode proxy = ValueProxyNode.create(value, exitNode); + ProxyNode proxy = new ValueProxyNode(value, exitNode); effects.addFloatingNode(proxy, "readCacheProxy"); entry.setValue(proxy); }
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeBlockState.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeBlockState.java Mon Jan 12 20:39:04 2015 +0100 @@ -89,7 +89,7 @@ if (fixed.predecessor() instanceof CommitAllocationNode) { commit = (CommitAllocationNode) fixed.predecessor(); } else { - commit = graph.add(CommitAllocationNode.create()); + commit = graph.add(new CommitAllocationNode()); graph.addBeforeFixed(fixed, commit); } for (AllocatedObjectNode obj : objects) {
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Mon Jan 12 20:39:04 2015 +0100 @@ -188,9 +188,9 @@ } } } - v = VirtualObjectState.create(obj.virtual, fieldState); + v = new VirtualObjectState(obj.virtual, fieldState); } else { - v = MaterializedObjectState.create(obj.virtual, obj.getMaterializedValue()); + v = new MaterializedObjectState(obj.virtual, obj.getMaterializedValue()); } effects.addVirtualMapping(frameState, v); } @@ -237,7 +237,7 @@ ValueNode value = obj.getEntry(i); if (!(value instanceof VirtualObjectNode || value.isConstant())) { if (exitNode.loopBegin().isPhiAtMerge(value) || initialObj == null || !initialObj.isVirtual() || initialObj.getEntry(i) != value) { - ProxyNode proxy = ValueProxyNode.create(value, exitNode); + ProxyNode proxy = new ValueProxyNode(value, exitNode); obj.setEntry(i, proxy); effects.addFloatingNode(proxy, "virtualProxy"); } @@ -247,7 +247,7 @@ if (initialObj == null || initialObj.isVirtual()) { ProxyNode proxy = proxies.get(obj.virtual); if (proxy == null) { - proxy = ValueProxyNode.create(obj.getMaterializedValue(), exitNode); + proxy = new ValueProxyNode(obj.getMaterializedValue(), exitNode); effects.addFloatingNode(proxy, "proxy"); } else { effects.replaceFirstInput(proxy, proxy.value(), obj.getMaterializedValue()); @@ -282,7 +282,7 @@ protected <T> PhiNode getCachedPhi(T virtual, Stamp stamp) { ValuePhiNode result = materializedPhis.get(virtual); if (result == null) { - result = ValuePhiNode.create(stamp, merge); + result = new ValuePhiNode(stamp, merge); materializedPhis.put(virtual, result); } return result; @@ -457,11 +457,11 @@ for (int i = 1; i < objStates.length; i++) { ValueNode[] fields = objStates[i].getEntries(); if (phis[valueIndex] == null && values[valueIndex] != fields[valueIndex]) { - phis[valueIndex] = ValuePhiNode.create(values[valueIndex].stamp().unrestricted(), merge); + phis[valueIndex] = new ValuePhiNode(values[valueIndex].stamp().unrestricted(), merge); } } if (phis[valueIndex] != null && !phis[valueIndex].stamp().isCompatible(values[valueIndex].stamp())) { - phis[valueIndex] = ValuePhiNode.create(values[valueIndex].stamp().unrestricted(), merge); + phis[valueIndex] = new ValuePhiNode(values[valueIndex].stamp().unrestricted(), merge); } if (twoSlotKinds != null && twoSlotKinds[valueIndex] != null) { // skip an entry after a long/double value that occupies two int slots
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java Mon Jan 12 20:39:04 2015 +0100 @@ -90,7 +90,7 @@ ValueNode cachedValue = state.getCacheEntry(identifier); if (cachedValue != null && read.stamp().isCompatible(cachedValue.stamp())) { if (read.getGuard() != null && !(read.getGuard() instanceof FixedNode)) { - effects.addFixedNodeBefore(ValueAnchorNode.create((ValueNode) read.getGuard()), read); + effects.addFixedNodeBefore(new ValueAnchorNode((ValueNode) read.getGuard()), read); } effects.replaceAtUsages(read, cachedValue); addScalarAlias(read, cachedValue); @@ -174,7 +174,7 @@ if (exitNode.graph().hasValueProxies()) { for (Map.Entry<CacheEntry<?>, ValueNode> entry : exitState.getReadCache().entrySet()) { if (initialState.getReadCache().get(entry.getKey()) != entry.getValue()) { - ProxyNode proxy = ValueProxyNode.create(exitState.getCacheEntry(entry.getKey()), exitNode); + ProxyNode proxy = new ValueProxyNode(exitState.getCacheEntry(entry.getKey()), exitNode); effects.addFloatingNode(proxy, "readCacheProxy"); entry.setValue(proxy); } @@ -203,7 +203,7 @@ protected <T> PhiNode getCachedPhi(T virtual, Stamp stamp) { ValuePhiNode result = materializedPhis.get(virtual); if (result == null) { - result = ValuePhiNode.create(stamp, merge); + result = new ValuePhiNode(stamp, merge); materializedPhis.put(virtual, result); } return result;
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -53,25 +53,11 @@ @Input ValueNode index; @Input ValueNode indexScaling; - public static SnippetLocationNode create(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode identity, ValueNode displacement, ValueNode index, ValueNode indexScaling, - Graph graph) { - return graph.unique(SnippetLocationNode.create(snippetReflection, identity, displacement, index, indexScaling)); - } - - public static SnippetLocationNode create(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement) { - return new SnippetLocationNode(snippetReflection, locationIdentity, displacement); - } - - protected SnippetLocationNode(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement) { + public SnippetLocationNode(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement) { this(snippetReflection, locationIdentity, displacement, null, null); } - public static SnippetLocationNode create(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement, ValueNode index, - ValueNode indexScaling) { - return new SnippetLocationNode(snippetReflection, locationIdentity, displacement, index, indexScaling); - } - - protected SnippetLocationNode(SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement, ValueNode index, ValueNode indexScaling) { + public SnippetLocationNode(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode displacement, ValueNode index, ValueNode indexScaling) { super(StampFactory.object()); this.snippetReflection = snippetReflection; this.locationIdentity = locationIdentity; @@ -98,11 +84,11 @@ int constIndexScaling = indexScaling == null ? 0 : indexScaling.asJavaConstant().asInt(); if (index == null || constIndexScaling == 0) { - return ConstantLocationNode.create(constLocation, constDisplacement, graph()); + return graph().unique(new ConstantLocationNode(constLocation, constDisplacement)); } else if (index.isConstant()) { - return ConstantLocationNode.create(constLocation, index.asJavaConstant().asLong() * constIndexScaling + constDisplacement, graph()); + return graph().unique(new ConstantLocationNode(constLocation, index.asJavaConstant().asLong() * constIndexScaling + constDisplacement)); } else { - return IndexedLocationNode.create(constLocation, constDisplacement, index, graph(), constIndexScaling); + return graph().unique(new IndexedLocationNode(constLocation, constDisplacement, index, constIndexScaling)); } } return this;
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -42,19 +42,15 @@ public static WordCastNode wordToObject(ValueNode input, Kind wordKind) { assert input.getKind() == wordKind; - return WordCastNode.create(StampFactory.object(), input); + return new WordCastNode(StampFactory.object(), input); } public static WordCastNode objectToWord(ValueNode input, Kind wordKind) { assert input.stamp() instanceof ObjectStamp; - return WordCastNode.create(StampFactory.forKind(wordKind), input); + return new WordCastNode(StampFactory.forKind(wordKind), input); } - public static WordCastNode create(Stamp stamp, ValueNode input) { - return new WordCastNode(stamp, input); - } - - protected WordCastNode(Stamp stamp, ValueNode input) { + public WordCastNode(Stamp stamp, ValueNode input) { super(stamp); this.input = input; }
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java Mon Jan 12 20:39:04 2015 +0100 @@ -159,9 +159,9 @@ * depends on elementKind. Therefore, just create a new node and replace the old one. */ if (node instanceof LoadIndexedNode) { - graph.replaceFixedWithFixed(node, graph.add(LoadIndexedNode.create(node.array(), node.index(), wordKind))); + graph.replaceFixedWithFixed(node, graph.add(new LoadIndexedNode(node.array(), node.index(), wordKind))); } else if (node instanceof StoreIndexedNode) { - graph.replaceFixedWithFixed(node, graph.add(StoreIndexedNode.create(node.array(), node.index(), wordKind, ((StoreIndexedNode) node).value()))); + graph.replaceFixedWithFixed(node, graph.add(new StoreIndexedNode(node.array(), node.index(), wordKind, ((StoreIndexedNode) node).value()))); } else { throw GraalInternalError.shouldNotReachHere(); } @@ -220,7 +220,7 @@ case NOT: assert arguments.size() == 1; - replace(invoke, graph.unique(XorNode.create(arguments.get(0), ConstantNode.forIntegerKind(wordKind, -1, graph)))); + replace(invoke, graph.unique(new XorNode(arguments.get(0), ConstantNode.forIntegerKind(wordKind, -1, graph)))); break; case READ_POINTER: @@ -289,7 +289,7 @@ case FROM_ARRAY: assert arguments.size() == 2; - replace(invoke, graph.unique(ComputeAddressNode.create(arguments.get(0), arguments.get(1), StampFactory.forKind(wordKind)))); + replace(invoke, graph.unique(new ComputeAddressNode(arguments.get(0), arguments.get(1), StampFactory.forKind(wordKind)))); break; case TO_OBJECT: @@ -323,14 +323,14 @@ if (toKind == Kind.Int) { assert value.getKind() == Kind.Long; - return graph.unique(NarrowNode.create(value, 32)); + return graph.unique(new NarrowNode(value, 32)); } else { assert toKind == Kind.Long; assert value.getKind().getStackKind() == Kind.Int; if (unsigned) { - return graph.unique(ZeroExtendNode.create(value, 64)); + return graph.unique(new ZeroExtendNode(value, 64)); } else { - return graph.unique(SignExtendNode.create(value, 64)); + return graph.unique(new SignExtendNode(value, 64)); } } } @@ -342,8 +342,8 @@ */ private static ValueNode createBinaryNodeInstance(Class<? extends ValueNode> nodeClass, ValueNode left, ValueNode right) { try { - Method factory = nodeClass.getDeclaredMethod("create", ValueNode.class, ValueNode.class); - return (ValueNode) factory.invoke(null, left, right); + Constructor<?> cons = nodeClass.getDeclaredConstructor(ValueNode.class, ValueNode.class); + return (ValueNode) cons.newInstance(left, right); } catch (Throwable ex) { throw new GraalInternalError(ex).addContext(nodeClass.getName()); } @@ -360,11 +360,11 @@ CompareNode comparison; if (condition == Condition.EQ || condition == Condition.NE) { - comparison = IntegerEqualsNode.create(a, b); + comparison = new IntegerEqualsNode(a, b); } else if (condition.isUnsigned()) { - comparison = IntegerBelowNode.create(a, b); + comparison = new IntegerBelowNode(a, b); } else { - comparison = IntegerLessThanNode.create(a, b); + comparison = new IntegerLessThanNode(a, b); } ConstantNode trueValue = ConstantNode.forInt(1, graph); @@ -375,7 +375,7 @@ trueValue = falseValue; falseValue = temp; } - ConditionalNode materialize = graph.unique(ConditionalNode.create(graph.unique(comparison), trueValue, falseValue)); + ConditionalNode materialize = graph.unique(new ConditionalNode(graph.unique(comparison), trueValue, falseValue)); return materialize; } @@ -383,11 +383,11 @@ if (locationIdentity.isConstant()) { return makeLocation(graph, offset, snippetReflection.asObject(LocationIdentity.class, locationIdentity.asJavaConstant())); } - return SnippetLocationNode.create(snippetReflection, locationIdentity, ConstantNode.forLong(0, graph), fromSigned(graph, offset), ConstantNode.forInt(1, graph), graph); + return graph.unique(new SnippetLocationNode(snippetReflection, locationIdentity, ConstantNode.forLong(0, graph), fromSigned(graph, offset), ConstantNode.forInt(1, graph))); } protected LocationNode makeLocation(StructuredGraph graph, ValueNode offset, LocationIdentity locationIdentity) { - return IndexedLocationNode.create(locationIdentity, 0, fromSigned(graph, offset), graph, 1); + return graph.unique(new IndexedLocationNode(locationIdentity, 0, fromSigned(graph, offset), 1)); } protected ValueNode readOp(StructuredGraph graph, Kind readKind, ValueNode base, Invoke invoke, LocationNode location, Opcode op) { @@ -399,7 +399,7 @@ } protected ValueNode readOp(StructuredGraph graph, Kind readKind, ValueNode base, Invoke invoke, LocationNode location, BarrierType barrierType, boolean compressible) { - JavaReadNode read = graph.add(JavaReadNode.create(readKind, base, location, barrierType, compressible)); + JavaReadNode read = graph.add(new JavaReadNode(readKind, base, location, barrierType, compressible)); graph.addBeforeFixed(invoke.asNode(), read); /* * The read must not float outside its block otherwise it may float above an explicit zero @@ -414,7 +414,7 @@ final BarrierType barrier = (op == Opcode.WRITE_BARRIERED ? BarrierType.PRECISE : BarrierType.NONE); final boolean compressible = (op == Opcode.WRITE_OBJECT || op == Opcode.WRITE_BARRIERED); final boolean initialize = (op == Opcode.INITIALIZE); - JavaWriteNode write = graph.add(JavaWriteNode.create(writeKind, base, value, location, barrier, compressible, initialize)); + JavaWriteNode write = graph.add(new JavaWriteNode(writeKind, base, value, location, barrier, compressible, initialize)); write.setStateAfter(invoke.stateAfter()); graph.addBeforeFixed(invoke.asNode(), write); return write;
--- a/graal/com.oracle.nfi/src/com/oracle/nfi/api/NativeFunctionPointer.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.nfi/src/com/oracle/nfi/api/NativeFunctionPointer.java Mon Jan 12 20:39:04 2015 +0100 @@ -33,7 +33,7 @@ /** * Returns the name of the function. - * + * * @return name of the function */ String getName();
--- a/graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/TypeSystem.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/TypeSystem.java Mon Jan 12 20:39:04 2015 +0100 @@ -37,7 +37,7 @@ * concrete type is found first when searching the list sequentially for the type of a given generic * value. * </p> - * + * * <p> * Each {@link #value()} is represented as a java type. A type can specify two annotations: * {@link TypeCheck} and {@link TypeCast}. The {@link TypeCheck} checks whether a given generic @@ -51,14 +51,14 @@ * accept also {@link Integer} values, implicitly converting them to {@link Double} . This example * points out how we express implicit type conversions. * </p> - * + * * <p> * <b>Example:</b> The {@link TypeSystem} contains the types {@link Boolean}, {@link Integer}, and * {@link Double}. The type {@link Object} is always used implicitly as the generic type represent * all values. - * + * * <pre> - * + * * {@literal @}TypeSystem(types = {boolean.class, int.class, double.class}) * public abstract class ExampleTypeSystem { * @@ -73,8 +73,8 @@ * } * } * </pre> - * - * + * + * * @see TypeCast * @see TypeCheck */
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java Mon Jan 12 20:39:04 2015 +0100 @@ -72,7 +72,7 @@ * language specific implementations may want to return <code>true</code> here to indicate that * gathering call site specific profiling information might make sense for this {@link RootNode} * . - * + * * @return <code>true</code> if cloning is allowed else <code>false</code>. */ public boolean isCloningAllowed() { @@ -91,7 +91,7 @@ /** * Executes this function using the specified frame and returns the result value. - * + * * @param frame the frame of the currently executing guest language method * @return the value of the execution */ @@ -114,14 +114,14 @@ * the correct <code>ExecutionContext</code> to be determined for a <code>RootNode</code> (and * so also for a {@link RootCallTarget} and a {@link FrameInstance} obtained from the call * stack) without prior knowledge of the language it has come from. - * + * * Used for instance to determine the language of a <code>RootNode<code>: * * <pre> * <code> * rootNode.getExecutionContext().getLanguageShortName(); * </code> </pre> - * + * * Returns <code>null</code> by default. */ public ExecutionContext getExecutionContext() { @@ -151,7 +151,7 @@ * <p> * Implementations should ensure that instrumentation is never applied more than once to an AST, * as this is not guaranteed to be error-free. - * + * * @see Probe#registerASTProber(com.oracle.truffle.api.instrument.ASTProber) */ public void applyInstrumentation() {
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ConditionProfile.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ConditionProfile.java Mon Jan 12 20:39:04 2015 +0100 @@ -30,9 +30,9 @@ /** * Abstract utility class to speculate on conditions. Condition profiles are intended to be used as * part of if conditions. - * + * * Example usage: - * + * * <pre> * private final ConditionProfile zero = ConditionProfile.createBinaryProfile(); * @@ -42,12 +42,12 @@ * } else { * return value; * } - * + * * </pre> - * + * * All instances of {@code ConditionProfile} (and subclasses) must be held in {@code final} fields * for compiler optimizations to take effect. - * + * * @see #createCountingProfile() * @see #createBinaryProfile() */ @@ -62,7 +62,7 @@ * true and false. This information is reported to the underlying optimization system using * {@link CompilerDirectives#injectBranchProbability(double, boolean)}. Condition profiles are * intended to be used as part of if conditions. - * + * * @see ConditionProfile * @see #createBinaryProfile() */ @@ -73,7 +73,7 @@ /** * Returns a {@link ConditionProfile} that speculates on conditions to be never true or to be * never false. Condition profiles are intended to be used as part of if conditions. - * + * * @see ConditionProfile * @see ConditionProfile#createCountingProfile() */
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ValueProfile.java Mon Jan 12 19:05:36 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ValueProfile.java Mon Jan 12 20:39:04 2015 +0100 @@ -26,18 +26,18 @@ /** * Utility class to speculate on certain properties of values. - * + * * Example usage: - * + * * <pre> * private final ValueProfile classProfile = ValueProfile.createClassProfile(); * * return classProfile.profile(value); * </pre> - * + * * All instances of {@code ValueProfile} (and subclasses) must be held in {@code final} fields for * compiler optimizations to take effect. - * + * * @see #createPrimitiveProfile() * @see #createIdentityProfile() * @see #createClassProfile()