< prev index next >

test/testlibrary/jittester/src/jdk/test/lib/jittester/Switch.java

Print this page




  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 package jdk.test.lib.jittester;
  25 
  26 import java.util.List;
  27 import jdk.test.lib.jittester.visitors.Visitor;
  28 
  29 public class Switch extends IRNode {
  30     private final int caseBlockIdx;
  31 
  32     public Switch(int level, List<IRNode> chldrn, int caseBlockIdx) {

  33         this.level = level;
  34         addChildren(chldrn);
  35         this.caseBlockIdx = caseBlockIdx;
  36     }
  37 
  38     @Override
  39     public long complexity() {
  40         IRNode switchExp = getChild(0);
  41         long complexity = switchExp != null ? switchExp.complexity() : 0;
  42         for (int i = caseBlockIdx; i < getChildren().size(); ++i) {
  43             complexity += getChild(i).complexity();
  44         }
  45         return complexity;
  46     }
  47 
  48     @Override
  49     public long countDepth() {
  50         return Long.max(level, super.countDepth());
  51     }
  52 


  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 package jdk.test.lib.jittester;
  25 
  26 import java.util.List;
  27 import jdk.test.lib.jittester.visitors.Visitor;
  28 
  29 public class Switch extends IRNode {
  30     private final int caseBlockIdx;
  31 
  32     public Switch(int level, List<IRNode> chldrn, int caseBlockIdx) {
  33         super(chldrn.get(caseBlockIdx).getResultType());
  34         this.level = level;
  35         addChildren(chldrn);
  36         this.caseBlockIdx = caseBlockIdx;
  37     }
  38 
  39     @Override
  40     public long complexity() {
  41         IRNode switchExp = getChild(0);
  42         long complexity = switchExp != null ? switchExp.complexity() : 0;
  43         for (int i = caseBlockIdx; i < getChildren().size(); ++i) {
  44             complexity += getChild(i).complexity();
  45         }
  46         return complexity;
  47     }
  48 
  49     @Override
  50     public long countDepth() {
  51         return Long.max(level, super.countDepth());
  52     }
  53 
< prev index next >