Package jbe.micro

Source Code of jbe.micro.BranchNotTaken

package jbe.micro;

import jbe.BenchMark;
import jbe.Execute;

public class BranchNotTaken extends BenchMark {

/*
   18:  iload_1
   19:  iload_2
   20:  if_icmplt  28
   23:  iload_3
   24:  iload  4
   26:  iadd
   27:  istore_3
   28:  iload_3
   29:  iload  5
   31:  iadd
   32:  istore_3
*/
  public int test(int cnt) {

    int i;
    int a = 0;
    int b = 123;
    int c = 456;

    for (i=0; i<cnt; ++i) {
      if (cnt>=i) {
        a = a+b;
      }
      a = a+c;
    }
    return a;
  }

/*
   18:  iload_3
   19:  iload  4
   21:  iadd
   22:  istore_3
   23:  iload_3
   24:  iload  5
   26:  iadd
   27:  istore_3
*/
  public int overhead(int cnt) {

    int i;
    int a = 0;
    int b = 123;
    int c = 456;

    for (i=0; i<cnt; ++i) {
      a = a+b;
      a = a+c;
    }
    return a;
  }

  public String getName() {

    return "if_icmplt not taken";
  }

  public static void main(String[] args) {

    BenchMark bm = new BranchNotTaken();

    Execute.perform(bm);
  }
     
}
TOP

Related Classes of jbe.micro.BranchNotTaken

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.