mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
Merge
This commit is contained in:
commit
8efd785f67
119 changed files with 6257 additions and 4107 deletions
|
@ -318,7 +318,7 @@ class Klass : public Klass_vtbl {
|
|||
// Can this klass be a primary super? False for interfaces and arrays of
|
||||
// interfaces. False also for arrays or classes with long super chains.
|
||||
bool can_be_primary_super() const {
|
||||
const juint secondary_offset = secondary_super_cache_offset_in_bytes() + sizeof(oopDesc);
|
||||
const juint secondary_offset = in_bytes(secondary_super_cache_offset());
|
||||
return super_check_offset() != secondary_offset;
|
||||
}
|
||||
virtual bool can_be_primary_super_slow() const;
|
||||
|
@ -328,7 +328,7 @@ class Klass : public Klass_vtbl {
|
|||
if (!can_be_primary_super()) {
|
||||
return primary_super_limit();
|
||||
} else {
|
||||
juint d = (super_check_offset() - (primary_supers_offset_in_bytes() + sizeof(oopDesc))) / sizeof(klassOop);
|
||||
juint d = (super_check_offset() - in_bytes(primary_supers_offset())) / sizeof(klassOop);
|
||||
assert(d < primary_super_limit(), "oob");
|
||||
assert(_primary_supers[d] == as_klassOop(), "proper init");
|
||||
return d;
|
||||
|
@ -378,15 +378,15 @@ class Klass : public Klass_vtbl {
|
|||
virtual void set_alloc_size(juint n) = 0;
|
||||
|
||||
// Compiler support
|
||||
static int super_offset_in_bytes() { return offset_of(Klass, _super); }
|
||||
static int super_check_offset_offset_in_bytes() { return offset_of(Klass, _super_check_offset); }
|
||||
static int primary_supers_offset_in_bytes(){ return offset_of(Klass, _primary_supers); }
|
||||
static int secondary_super_cache_offset_in_bytes() { return offset_of(Klass, _secondary_super_cache); }
|
||||
static int secondary_supers_offset_in_bytes() { return offset_of(Klass, _secondary_supers); }
|
||||
static int java_mirror_offset_in_bytes() { return offset_of(Klass, _java_mirror); }
|
||||
static int modifier_flags_offset_in_bytes(){ return offset_of(Klass, _modifier_flags); }
|
||||
static int layout_helper_offset_in_bytes() { return offset_of(Klass, _layout_helper); }
|
||||
static int access_flags_offset_in_bytes() { return offset_of(Klass, _access_flags); }
|
||||
static ByteSize super_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _super)); }
|
||||
static ByteSize super_check_offset_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _super_check_offset)); }
|
||||
static ByteSize primary_supers_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _primary_supers)); }
|
||||
static ByteSize secondary_super_cache_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _secondary_super_cache)); }
|
||||
static ByteSize secondary_supers_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _secondary_supers)); }
|
||||
static ByteSize java_mirror_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _java_mirror)); }
|
||||
static ByteSize modifier_flags_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _modifier_flags)); }
|
||||
static ByteSize layout_helper_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _layout_helper)); }
|
||||
static ByteSize access_flags_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _access_flags)); }
|
||||
|
||||
// Unpacking layout_helper:
|
||||
enum {
|
||||
|
@ -483,7 +483,7 @@ class Klass : public Klass_vtbl {
|
|||
bool is_subtype_of(klassOop k) const {
|
||||
juint off = k->klass_part()->super_check_offset();
|
||||
klassOop sup = *(klassOop*)( (address)as_klassOop() + off );
|
||||
const juint secondary_offset = secondary_super_cache_offset_in_bytes() + sizeof(oopDesc);
|
||||
const juint secondary_offset = in_bytes(secondary_super_cache_offset());
|
||||
if (sup == k) {
|
||||
return true;
|
||||
} else if (off != secondary_offset) {
|
||||
|
@ -679,7 +679,7 @@ class Klass : public Klass_vtbl {
|
|||
// are potential problems in setting the bias pattern for
|
||||
// JVM-internal oops.
|
||||
inline void set_prototype_header(markOop header);
|
||||
static int prototype_header_offset_in_bytes() { return offset_of(Klass, _prototype_header); }
|
||||
static ByteSize prototype_header_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _prototype_header)); }
|
||||
|
||||
int biased_lock_revocation_count() const { return (int) _biased_lock_revocation_count; }
|
||||
// Atomically increments biased_lock_revocation_count and returns updated value
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue