diff -r eacd97c88873 -r b109e761e927 src/share/vm/runtime/stackValue.hpp --- a/src/share/vm/runtime/stackValue.hpp Fri Jun 05 10:25:39 2009 -0700 +++ b/src/share/vm/runtime/stackValue.hpp Tue Jun 09 16:19:10 2009 -0700 @@ -34,9 +34,11 @@ _i = value; } - StackValue(Handle value) { + StackValue(Handle value, intptr_t scalar_replaced = 0) { _type = T_OBJECT; + _i = scalar_replaced; _o = value; + assert(_i == 0 || _o.is_null(), "not null object should not be marked as scalar replaced"); } StackValue() { @@ -56,6 +58,11 @@ return _o; } + bool obj_is_scalar_replaced() const { + assert(type() == T_OBJECT, "type check"); + return _i != 0; + } + void set_obj(Handle value) { assert(type() == T_OBJECT, "type check"); _o = value;