Mercurial > hg > truffle
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java @ 13294:29907e69ae8d
rework of switch generation: move code into platform independent SwitchStrategy, add boolean switch strategy
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 11 Dec 2013 15:59:40 +0100 |
parents | da9db8331658 |
children | 1cf373d2b415 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Wed Dec 11 15:15:35 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java Wed Dec 11 15:59:40 2013 +0100 @@ -54,6 +54,15 @@ assert keySuccessors.length == keys.length + 1; assert keySuccessors.length == keyProbabilities.length; this.keys = keys; + assert assertValues(); + assert assertSorted(); + } + + private boolean assertSorted() { + for (int i = 1; i < keys.length; i++) { + assert keys[i - 1] < keys[i]; + } + return true; } /** @@ -70,6 +79,11 @@ this(value, new AbstractBeginNode[successorCount], keys, keyProbabilities, keySuccessors); } + @Override + public boolean isSorted() { + return true; + } + /** * Gets the key at the specified index. *