changeset 1607:99ceb0e99c9e

Merge
author never
date Mon, 26 Jul 2010 15:58:07 -0700
parents 1890dc9151da e5dfb3ccb88b
children 66c5dadb4d61
files
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/ci/ciField.cpp	Fri Jul 23 14:31:15 2010 -0700
+++ b/src/share/vm/ci/ciField.cpp	Mon Jul 26 15:58:07 2010 -0700
@@ -339,7 +339,7 @@
   if (_type != NULL) _type->print_name();
   else               tty->print("(reference)");
   tty->print(" is_constant=%s", bool_to_str(_is_constant));
-  if (_is_constant) {
+  if (_is_constant && is_static()) {
     tty->print(" constant_value=");
     _constant_value.print();
   }
--- a/src/share/vm/opto/macro.cpp	Fri Jul 23 14:31:15 2010 -0700
+++ b/src/share/vm/opto/macro.cpp	Mon Jul 26 15:58:07 2010 -0700
@@ -720,7 +720,7 @@
       if (basic_elem_type == T_OBJECT || basic_elem_type == T_ARRAY) {
         if (!elem_type->is_loaded()) {
           field_type = TypeInstPtr::BOTTOM;
-        } else if (field != NULL && field->is_constant()) {
+        } else if (field != NULL && field->is_constant() && field->is_static()) {
           // This can happen if the constant oop is non-perm.
           ciObject* con = field->constant_value().as_object();
           // Do not "join" in the previous type; it doesn't add value,