src/share/vm/runtime/stackValue.hpp

changeset 1253
b109e761e927
parent 435
a61af66fc99e
child 1279
bd02caa94611
     1.1 --- a/src/share/vm/runtime/stackValue.hpp	Fri Jun 05 10:25:39 2009 -0700
     1.2 +++ b/src/share/vm/runtime/stackValue.hpp	Tue Jun 09 16:19:10 2009 -0700
     1.3 @@ -34,9 +34,11 @@
     1.4      _i     = value;
     1.5    }
     1.6  
     1.7 -  StackValue(Handle value) {
     1.8 +  StackValue(Handle value, intptr_t scalar_replaced = 0) {
     1.9      _type    = T_OBJECT;
    1.10 +    _i       = scalar_replaced;
    1.11      _o       = value;
    1.12 +    assert(_i == 0 || _o.is_null(), "not null object should not be marked as scalar replaced");
    1.13    }
    1.14  
    1.15    StackValue() {
    1.16 @@ -56,6 +58,11 @@
    1.17      return _o;
    1.18    }
    1.19  
    1.20 +  bool obj_is_scalar_replaced() const {
    1.21 +    assert(type() == T_OBJECT, "type check");
    1.22 +    return _i != 0;
    1.23 +  }
    1.24 +
    1.25    void set_obj(Handle value) {
    1.26      assert(type() == T_OBJECT, "type check");
    1.27      _o = value;

mercurial