hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StackValue.java
changeset 3171 aa289b22b577
parent 1 489c9b5090e2
child 3261 c7d5aae8d3f7
equal deleted inserted replaced
2880:c2974244a496 3171:aa289b22b577
    35 
    35 
    36   public StackValue() {
    36   public StackValue() {
    37     type = BasicType.getTConflict();
    37     type = BasicType.getTConflict();
    38   }
    38   }
    39 
    39 
    40   public StackValue(OopHandle h) {
    40   public StackValue(OopHandle h, long scalar_replaced) {
    41     handleValue = h;
    41     handleValue = h;
    42     type = BasicType.getTObject();
    42     type = BasicType.getTObject();
       
    43     integerValue = scalar_replaced;
       
    44     Assert.that(integerValue == 0 || handleValue == null, "not null object should not be marked as scalar replaced");
    43   }
    45   }
    44 
    46 
    45   public StackValue(long i) {
    47   public StackValue(long i) {
    46     integerValue = i;
    48     integerValue = i;
    47     type = BasicType.getTInt();
    49     type = BasicType.getTInt();
    55   public OopHandle getObject() {
    57   public OopHandle getObject() {
    56     if (Assert.ASSERTS_ENABLED) {
    58     if (Assert.ASSERTS_ENABLED) {
    57       Assert.that(type == BasicType.getTObject(), "type check");
    59       Assert.that(type == BasicType.getTObject(), "type check");
    58     }
    60     }
    59     return handleValue;
    61     return handleValue;
       
    62   }
       
    63 
       
    64   boolean objIsScalarReplaced() {
       
    65     if (Assert.ASSERTS_ENABLED) {
       
    66       Assert.that(type == BasicType.getTObject(), "type check");
       
    67     }
       
    68     return integerValue != 0;
    60   }
    69   }
    61 
    70 
    62   public long getInteger() {
    71   public long getInteger() {
    63     if (Assert.ASSERTS_ENABLED) {
    72     if (Assert.ASSERTS_ENABLED) {
    64       Assert.that(type == BasicType.getTInt(), "type check");
    73       Assert.that(type == BasicType.getTInt(), "type check");