hotspot/test/testlibrary/whitebox/sun/hotspot/code/NMethod.java
changeset 27642 8c9eff693145
parent 27450 603dbcf4f547
equal deleted inserted replaced
27641:fca9ac607ebc 27642:8c9eff693145
    25 package sun.hotspot.code;
    25 package sun.hotspot.code;
    26 
    26 
    27 import java.lang.reflect.Executable;
    27 import java.lang.reflect.Executable;
    28 import sun.hotspot.WhiteBox;
    28 import sun.hotspot.WhiteBox;
    29 
    29 
    30 public class NMethod {
    30 public class NMethod extends CodeBlob {
    31   private static final WhiteBox wb = WhiteBox.getWhiteBox();
    31   private static final WhiteBox wb = WhiteBox.getWhiteBox();
    32   public static NMethod get(Executable method, boolean isOsr) {
    32   public static NMethod get(Executable method, boolean isOsr) {
    33     Object[] obj = wb.getNMethod(method, isOsr);
    33     Object[] obj = wb.getNMethod(method, isOsr);
    34     return obj == null ? null : new NMethod(obj);
    34     return obj == null ? null : new NMethod(obj);
    35   }
    35   }
    36   private NMethod(Object[] obj) {
    36   private NMethod(Object[] obj) {
    37     assert obj.length == 3;
    37     super((Object[])obj[0]);
    38     comp_level = (Integer) obj[0];
    38     assert obj.length == 4;
    39     insts = (byte[]) obj[1];
    39     comp_level = (Integer) obj[1];
    40     compile_id = (Integer) obj[2];
    40     insts = (byte[]) obj[2];
       
    41     compile_id = (Integer) obj[3];
    41   }
    42   }
    42   public byte[] insts;
    43   public final byte[] insts;
    43   public int comp_level;
    44   public final int comp_level;
    44   public int compile_id;
    45   public final int compile_id;
    45 
    46 
    46   @Override
    47   @Override
    47   public String toString() {
    48   public String toString() {
    48     return "NMethod{" +
    49     return "NMethod{"
    49         "insts=" + insts +
    50         + super.toString()
    50         ", comp_level=" + comp_level +
    51         + ", insts=" + insts
    51         ", compile_id=" + compile_id +
    52         + ", comp_level=" + comp_level
    52         '}';
    53         + ", compile_id=" + compile_id
       
    54         + '}';
    53   }
    55   }
    54 }
    56 }