Mercurial > hg > truffle
changeset 22514:6fe6d2cb7cc1
SpecializationNode: inline method removeSameImpl
author | Andreas Woess <andreas.woess@oracle.com> |
---|---|
date | Fri, 18 Dec 2015 14:29:20 +0100 |
parents | 8d5a558f4279 |
children | d51cc0af8612 |
files | truffle/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/SpecializationNode.java |
diffstat | 1 files changed, 12 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- 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();