diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java @ 19303:37bbcabf7744

Truffle-DSL: move constant guard assertions after dynamic guards.
author Christian Humer <christian.humer@gmail.com>
date Wed, 11 Feb 2015 19:28:59 +0100
parents 8e4f683e16d9
children ef292a5bb79d
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Wed Feb 11 19:11:56 2015 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeGenFactory.java	Wed Feb 11 19:28:59 2015 +0100
@@ -1623,9 +1623,6 @@
         if (!cast.isEmpty()) {
             builder.tree(cast);
         }
-        if (!guardAssertions.isEmpty()) {
-            builder.tree(guardAssertions);
-        }
         boolean elseIf = !elseGuardExpressions.isEmpty();
         if (!methodGuards.isEmpty()) {
             builder.startIf(elseIf);
@@ -1636,6 +1633,9 @@
             builder.startElseBlock();
             ifCount++;
         }
+        if (!guardAssertions.isEmpty()) {
+            builder.tree(guardAssertions);
+        }
 
         boolean reachable = isReachableGroup(group, ifCount);
         if (reachable) {