diff src/share/vm/c1/c1_InstructionPrinter.cpp @ 3362:d4c1fbc3de95

7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp Summary: Handle IfOps folding properly in case of unloaded constant oop arguments Reviewed-by: kvn, never
author iveresov
date Fri, 06 May 2011 12:12:29 -0700
parents 403dc4c1d7f5
children 701a83c86f28
line wrap: on
line diff
--- a/src/share/vm/c1/c1_InstructionPrinter.cpp	Thu May 05 21:06:14 2011 -0700
+++ b/src/share/vm/c1/c1_InstructionPrinter.cpp	Fri May 06 12:12:29 2011 -0700
@@ -132,17 +132,22 @@
     if (value->is_null_object()) {
       output()->print("null");
     } else if (!value->is_loaded()) {
-      output()->print("<unloaded object 0x%x>", value);
+      output()->print("<unloaded object " PTR_FORMAT ">", value);
     } else if (value->is_method()) {
       ciMethod* m = (ciMethod*)value;
       output()->print("<method %s.%s>", m->holder()->name()->as_utf8(), m->name()->as_utf8());
     } else {
-      output()->print("<object 0x%x>", value->constant_encoding());
+      output()->print("<object " PTR_FORMAT ">", value->constant_encoding());
     }
   } else if (type->as_InstanceConstant() != NULL) {
-    output()->print("<instance 0x%x>", type->as_InstanceConstant()->value()->constant_encoding());
+    ciInstance* value = type->as_InstanceConstant()->value();
+    if (value->is_loaded()) {
+      output()->print("<instance " PTR_FORMAT ">", value->constant_encoding());
+    } else {
+      output()->print("<unloaded instance " PTR_FORMAT ">", value);
+    }
   } else if (type->as_ArrayConstant() != NULL) {
-    output()->print("<array 0x%x>", type->as_ArrayConstant()->value()->constant_encoding());
+    output()->print("<array " PTR_FORMAT ">", type->as_ArrayConstant()->value()->constant_encoding());
   } else if (type->as_ClassConstant() != NULL) {
     ciInstanceKlass* klass = type->as_ClassConstant()->value();
     if (!klass->is_loaded()) {