# HG changeset patch # User Andreas Woess # Date 1450445360 -3600 # Node ID 6fe6d2cb7cc1aa1abb3d8e89f9e660f04428f003 # Parent 8d5a558f427968d65ef67429341f11ba208c77cd SpecializationNode: inline method removeSameImpl diff -r 8d5a558f4279 -r 6fe6d2cb7cc1 truffle/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/SpecializationNode.java --- a/truffle/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/SpecializationNode.java Fri Dec 18 14:20:50 2015 +0100 +++ b/truffle/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/SpecializationNode.java Fri Dec 18 14:29:20 2015 +0100 @@ -269,7 +269,18 @@ } protected final SpecializationNode removeSame(final CharSequence reason) { - return removeSameImpl(SpecializationNode.this, reason); + SpecializationNode start = SpecializationNode.this.findStart(); + SpecializationNode current = start; + while (current != null) { + if (current.isSame(SpecializationNode.this)) { + NodeUtil.nonAtomicReplace(current, current.next, reason); + if (current == start) { + start = start.next; + } + } + current = current.next; + } + return SpecializationNode.this.findEnd().findStart(); } /** Find the topmost of the specialization chain. */ @@ -291,21 +302,6 @@ return findStart().getParent(); } - private static SpecializationNode removeSameImpl(SpecializationNode toRemove, CharSequence reason) { - SpecializationNode start = toRemove.findStart(); - SpecializationNode current = start; - while (current != null) { - if (current.isSame(toRemove)) { - NodeUtil.nonAtomicReplace(current, current.next, reason); - if (current == start) { - start = start.next; - } - } - current = current.next; - } - return toRemove.findEnd().findStart(); - } - @SuppressWarnings("unused") public Object acceptAndExecute(Frame frame) { throw new UnsupportedOperationException();