hotspot/src/share/vm/runtime/stackValue.hpp
changeset 3171 aa289b22b577
parent 1 489c9b5090e2
child 3261 c7d5aae8d3f7
equal deleted inserted replaced
2880:c2974244a496 3171:aa289b22b577
    32   StackValue(intptr_t value) {
    32   StackValue(intptr_t value) {
    33     _type  = T_INT;
    33     _type  = T_INT;
    34     _i     = value;
    34     _i     = value;
    35   }
    35   }
    36 
    36 
    37   StackValue(Handle value) {
    37   StackValue(Handle value, intptr_t scalar_replaced = 0) {
    38     _type    = T_OBJECT;
    38     _type    = T_OBJECT;
       
    39     _i       = scalar_replaced;
    39     _o       = value;
    40     _o       = value;
       
    41     assert(_i == 0 || _o.is_null(), "not null object should not be marked as scalar replaced");
    40   }
    42   }
    41 
    43 
    42   StackValue() {
    44   StackValue() {
    43     _type   = T_CONFLICT;
    45     _type   = T_CONFLICT;
    44     _i      = 0;
    46     _i      = 0;
    52   }
    54   }
    53 
    55 
    54   Handle get_obj() const {
    56   Handle get_obj() const {
    55     assert(type() == T_OBJECT, "type check");
    57     assert(type() == T_OBJECT, "type check");
    56     return _o;
    58     return _o;
       
    59   }
       
    60 
       
    61   bool obj_is_scalar_replaced() const {
       
    62     assert(type() == T_OBJECT, "type check");
       
    63     return _i != 0;
    57   }
    64   }
    58 
    65 
    59   void set_obj(Handle value) {
    66   void set_obj(Handle value) {
    60     assert(type() == T_OBJECT, "type check");
    67     assert(type() == T_OBJECT, "type check");
    61     _o = value;
    68     _o = value;