--- a/hotspot/src/share/vm/runtime/stackValue.hpp Fri Jun 05 10:25:39 2009 -0700
+++ b/hotspot/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;