< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodeinfo/src/org/graalvm/compiler/nodeinfo/NodeCycles.java

Print this page




  51      */
  52     CYCLES_0(0),
  53     CYCLES_1(1),
  54     CYCLES_2(2),
  55     CYCLES_4(4),
  56     CYCLES_8(8),
  57     CYCLES_16(16),
  58     CYCLES_32(32),
  59     CYCLES_64(64),
  60     CYCLES_128(128),
  61     CYCLES_256(256),
  62     CYCLES_512(512),
  63     CYCLES_1024(1024);
  64 
  65     public final int value;
  66 
  67     NodeCycles(int value) {
  68         this.value = value;
  69     }
  70 




  71     public static final int IGNORE_CYCLES_CONTRACT_FACTOR = 0xFFFF;
  72 
  73     public static NodeCycles compute(NodeCycles base, int opCount) {
  74         assert opCount >= 0;
  75         if (opCount == 0) {
  76             return CYCLES_0;
  77         }
  78         assert base.ordinal() > CYCLES_0.ordinal();
  79         int log2 = log2(base.value * opCount);
  80         NodeCycles[] values = values();
  81         for (int i = base.ordinal(); i < values.length; i++) {
  82             if (log2(values[i].value) == log2) {
  83                 return values[i];
  84             }
  85         }
  86         return CYCLES_1024;
  87     }
  88 
  89     public static NodeCycles compute(int rawValue) {
  90         assert rawValue >= 0;


  51      */
  52     CYCLES_0(0),
  53     CYCLES_1(1),
  54     CYCLES_2(2),
  55     CYCLES_4(4),
  56     CYCLES_8(8),
  57     CYCLES_16(16),
  58     CYCLES_32(32),
  59     CYCLES_64(64),
  60     CYCLES_128(128),
  61     CYCLES_256(256),
  62     CYCLES_512(512),
  63     CYCLES_1024(1024);
  64 
  65     public final int value;
  66 
  67     NodeCycles(int value) {
  68         this.value = value;
  69     }
  70 
  71     public boolean isValueKnown() {
  72         return this != NodeCycles.CYCLES_UNKNOWN && this != NodeCycles.CYCLES_UNSET;
  73     }
  74 
  75     public static final int IGNORE_CYCLES_CONTRACT_FACTOR = 0xFFFF;
  76 
  77     public static NodeCycles compute(NodeCycles base, int opCount) {
  78         assert opCount >= 0;
  79         if (opCount == 0) {
  80             return CYCLES_0;
  81         }
  82         assert base.ordinal() > CYCLES_0.ordinal();
  83         int log2 = log2(base.value * opCount);
  84         NodeCycles[] values = values();
  85         for (int i = base.ordinal(); i < values.length; i++) {
  86             if (log2(values[i].value) == log2) {
  87                 return values[i];
  88             }
  89         }
  90         return CYCLES_1024;
  91     }
  92 
  93     public static NodeCycles compute(int rawValue) {
  94         assert rawValue >= 0;
< prev index next >