--- a/hotspot/src/share/vm/runtime/stackValue.cpp Fri Jun 05 10:25:39 2009 -0700
+++ b/hotspot/src/share/vm/runtime/stackValue.cpp Tue Jun 09 16:19:10 2009 -0700
@@ -146,8 +146,9 @@
value.jl = ((ConstantLongValue *)sv)->value();
return new StackValue(value.p);
#endif
- } else if (sv->is_object()) {
- return new StackValue(((ObjectValue *)sv)->value());
+ } else if (sv->is_object()) { // Scalar replaced object in compiled frame
+ Handle ov = ((ObjectValue *)sv)->value();
+ return new StackValue(ov, (ov.is_null()) ? 1 : 0);
}
// Unknown ScopeValue type