--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StackValue.java Fri Jun 05 10:25:39 2009 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/StackValue.java Tue Jun 09 16:19:10 2009 -0700
@@ -37,9 +37,11 @@
type = BasicType.getTConflict();
}
- public StackValue(OopHandle h) {
+ public StackValue(OopHandle h, long scalar_replaced) {
handleValue = h;
type = BasicType.getTObject();
+ integerValue = scalar_replaced;
+ Assert.that(integerValue == 0 || handleValue == null, "not null object should not be marked as scalar replaced");
}
public StackValue(long i) {
@@ -59,6 +61,13 @@
return handleValue;
}
+ boolean objIsScalarReplaced() {
+ if (Assert.ASSERTS_ENABLED) {
+ Assert.that(type == BasicType.getTObject(), "type check");
+ }
+ return integerValue != 0;
+ }
+
public long getInteger() {
if (Assert.ASSERTS_ENABLED) {
Assert.that(type == BasicType.getTInt(), "type check");