src/hotspot/share/classfile/javaClasses.cpp
changeset 47998 fb0275c320a0
parent 47818 2f6ab27efb60
child 48618 688e5cbd0b91
child 48619 1703d83b3ffe
equal deleted inserted replaced
47997:55c43e677ded 47998:fb0275c320a0
  3060   case T_LONG:      st->print(JLONG_FORMAT, value->j);              break;
  3060   case T_LONG:      st->print(JLONG_FORMAT, value->j);              break;
  3061   case T_FLOAT:     st->print("%f", value->f);                      break;
  3061   case T_FLOAT:     st->print("%f", value->f);                      break;
  3062   case T_DOUBLE:    st->print("%lf", value->d);                     break;
  3062   case T_DOUBLE:    st->print("%lf", value->d);                     break;
  3063   default:          st->print("type %d?", type);                    break;
  3063   default:          st->print("type %d?", type);                    break;
  3064   }
  3064   }
       
  3065 }
       
  3066 
       
  3067 // Support for java_lang_ref_Reference
       
  3068 
       
  3069 bool java_lang_ref_Reference::is_referent_field(oop obj, ptrdiff_t offset) {
       
  3070   assert(!oopDesc::is_null(obj), "sanity");
       
  3071   if (offset != java_lang_ref_Reference::referent_offset) {
       
  3072     return false;
       
  3073   }
       
  3074 
       
  3075   Klass* k = obj->klass();
       
  3076   if (!k->is_instance_klass()) {
       
  3077     return false;
       
  3078   }
       
  3079 
       
  3080   InstanceKlass* ik = InstanceKlass::cast(obj->klass());
       
  3081   bool is_reference = ik->reference_type() != REF_NONE;
       
  3082   assert(!is_reference || ik->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
       
  3083   return is_reference;
  3065 }
  3084 }
  3066 
  3085 
  3067 // Support for java_lang_ref_SoftReference
  3086 // Support for java_lang_ref_SoftReference
  3068 
  3087 
  3069 jlong java_lang_ref_SoftReference::timestamp(oop ref) {
  3088 jlong java_lang_ref_SoftReference::timestamp(oop ref) {