< prev index next >

src/hotspot/share/ci/ciInstanceKlass.cpp


*** 55,65 **** InstanceKlass* ik = get_instanceKlass(); AccessFlags access_flags = ik->access_flags(); _flags = ciFlags(access_flags); _has_finalizer = access_flags.has_finalizer(); ! _has_subklass = ik->subklass() != NULL; _init_state = ik->init_state(); _nonstatic_field_size = ik->nonstatic_field_size(); _has_nonstatic_fields = ik->has_nonstatic_fields(); _has_nonstatic_concrete_methods = ik->has_nonstatic_concrete_methods(); _is_unsafe_anonymous = ik->is_unsafe_anonymous(); --- 55,65 ---- InstanceKlass* ik = get_instanceKlass(); AccessFlags access_flags = ik->access_flags(); _flags = ciFlags(access_flags); _has_finalizer = access_flags.has_finalizer(); ! _has_subklass = flags().is_final() ? subklass_false : subklass_unknown; _init_state = ik->init_state(); _nonstatic_field_size = ik->nonstatic_field_size(); _has_nonstatic_fields = ik->has_nonstatic_fields(); _has_nonstatic_concrete_methods = ik->has_nonstatic_concrete_methods(); _is_unsafe_anonymous = ik->is_unsafe_anonymous(); ***************
*** 145,156 **** // ------------------------------------------------------------------ // ciInstanceKlass::compute_shared_has_subklass bool ciInstanceKlass::compute_shared_has_subklass() { GUARDED_VM_ENTRY( InstanceKlass* ik = get_instanceKlass(); ! _has_subklass = ik->subklass() != NULL; ! return _has_subklass; ) } // ------------------------------------------------------------------ // ciInstanceKlass::loader --- 145,156 ---- // ------------------------------------------------------------------ // ciInstanceKlass::compute_shared_has_subklass bool ciInstanceKlass::compute_shared_has_subklass() { GUARDED_VM_ENTRY( InstanceKlass* ik = get_instanceKlass(); ! _has_subklass = ik->subklass() != NULL ? subklass_true : subklass_false; ! return _has_subklass == subklass_true; ) } // ------------------------------------------------------------------ // ciInstanceKlass::loader ***************
*** 581,591 **** bool ciInstanceKlass::is_leaf_type() { assert(is_loaded(), "must be loaded"); if (is_shared()) { return is_final(); // approximately correct } else { ! return !_has_subklass && (nof_implementors() == 0); } } // ------------------------------------------------------------------ // ciInstanceKlass::implementor --- 581,591 ---- bool ciInstanceKlass::is_leaf_type() { assert(is_loaded(), "must be loaded"); if (is_shared()) { return is_final(); // approximately correct } else { ! return !has_subklass() && (nof_implementors() == 0); } } // ------------------------------------------------------------------ // ciInstanceKlass::implementor
< prev index next >