mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8189871: Refactor GC barriers to use declarative semantics
Reviewed-by: pliden, rkennke, coleenp, dholmes, kbarrett, stefank
This commit is contained in:
parent
63122ba705
commit
3e5e2f03b1
45 changed files with 3458 additions and 806 deletions
|
@ -3064,6 +3064,25 @@ void java_lang_boxing_object::print(BasicType type, jvalue* value, outputStream*
|
|||
}
|
||||
}
|
||||
|
||||
// Support for java_lang_ref_Reference
|
||||
|
||||
bool java_lang_ref_Reference::is_referent_field(oop obj, ptrdiff_t offset) {
|
||||
assert(!oopDesc::is_null(obj), "sanity");
|
||||
if (offset != java_lang_ref_Reference::referent_offset) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Klass* k = obj->klass();
|
||||
if (!k->is_instance_klass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
InstanceKlass* ik = InstanceKlass::cast(obj->klass());
|
||||
bool is_reference = ik->reference_type() != REF_NONE;
|
||||
assert(!is_reference || ik->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
|
||||
return is_reference;
|
||||
}
|
||||
|
||||
// Support for java_lang_ref_SoftReference
|
||||
|
||||
jlong java_lang_ref_SoftReference::timestamp(oop ref) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue