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) { |