#include <markOop.hpp>
Inheritance diagram for markOopDesc:
Public Types | |
max_age = age_mask | |
enum | { max_age = age_mask } |
Public Member Functions | |
bool | has_sentinel () const |
markOop | set_sentinel () const |
markOop | clear_sentinel () const |
bool | has_tagged_contents () const |
bool | is_near_death () const |
markOop | set_near_death () const |
markOop | clear_near_death () const |
bool | is_klass_invalid () const |
markOop | set_klass_invalid () const |
markOop | clear_klass_invalid () const |
bool | has_context_forward () const |
markOop | set_context_forward () const |
bool | is_queued () const |
markOop | set_queued () const |
markOop | clear_queued () const |
int | age () const |
markOop | set_age (int v) const |
markOop | incr_age () const |
int | hash () const |
markOop | set_hash (int v) const |
bool | has_valid_hash () const |
void | print_on (outputStream *st) |
Static Public Member Functions | |
static int | context_forward_bit_mask () |
static markOop | tagged_prototype () |
static markOop | untagged_prototype () |
static markOop | bad () |
static int | masked_hash (int v) |
Private Types | |
no_hash = 0 | |
first_hash = 1 | |
sentinel_bits = 1 | |
near_death_bits = 1 | |
tagged_contents_bits = 1 | |
age_bits = 7 | |
hash_bits = BitsPerWord - sentinel_bits - near_death_bits - tagged_contents_bits - age_bits - Tag_Size | |
hash_shift = Tag_Size | |
age_shift = hash_bits + hash_shift | |
tagged_contents_shift = age_bits + age_shift | |
near_death_shift = tagged_contents_bits + tagged_contents_shift | |
sentinel_shift = near_death_bits + near_death_shift | |
hash_mask = nthMask(hash_bits) | |
hash_mask_in_place = hash_mask << hash_shift | |
age_mask = nthMask(age_bits) | |
age_mask_in_place = age_mask << age_shift | |
tagged_contents_mask = nthMask(tagged_contents_bits) | |
tagged_contents_mask_in_place = tagged_contents_mask << tagged_contents_shift | |
near_death_mask = nthMask(near_death_bits) | |
near_death_mask_in_place = near_death_mask << near_death_shift | |
sentinel_mask = nthMask(sentinel_bits) | |
sentinel_mask_in_place = sentinel_mask << sentinel_shift | |
no_hash_in_place = no_hash << hash_shift | |
first_hash_in_place = first_hash << hash_shift | |
untagged_contents_in_place = 1 << tagged_contents_shift | |
sentinel_is_place = 1 << sentinel_shift | |
enum | { no_hash = 0, first_hash = 1 } |
enum | { sentinel_bits = 1, near_death_bits = 1, tagged_contents_bits = 1, age_bits = 7, hash_bits = BitsPerWord - sentinel_bits - near_death_bits - tagged_contents_bits - age_bits - Tag_Size } |
enum | { hash_shift = Tag_Size, age_shift = hash_bits + hash_shift, tagged_contents_shift = age_bits + age_shift, near_death_shift = tagged_contents_bits + tagged_contents_shift, sentinel_shift = near_death_bits + near_death_shift } |
enum | { hash_mask = nthMask(hash_bits), hash_mask_in_place = hash_mask << hash_shift, age_mask = nthMask(age_bits), age_mask_in_place = age_mask << age_shift, tagged_contents_mask = nthMask(tagged_contents_bits), tagged_contents_mask_in_place = tagged_contents_mask << tagged_contents_shift, near_death_mask = nthMask(near_death_bits), near_death_mask_in_place = near_death_mask << near_death_shift, sentinel_mask = nthMask(sentinel_bits), sentinel_mask_in_place = sentinel_mask << sentinel_shift } |
enum | { no_hash_in_place = no_hash << hash_shift, first_hash_in_place = first_hash << hash_shift, untagged_contents_in_place = 1 << tagged_contents_shift } |
enum | { sentinel_is_place = 1 << sentinel_shift } |
Private Member Functions | |
unsigned int | value () const |
Friends | |
int | assign_hash (markOop &m) |
int | hash_markOop (markOop &m) |
Definition at line 39 of file markOop.hpp.
anonymous enum |
anonymous enum [private] |
anonymous enum [private] |
Definition at line 47 of file markOop.hpp.
anonymous enum [private] |
Definition at line 53 of file markOop.hpp.
anonymous enum [private] |
hash_mask | |
hash_mask_in_place | |
age_mask | |
age_mask_in_place | |
tagged_contents_mask | |
tagged_contents_mask_in_place | |
near_death_mask | |
near_death_mask_in_place | |
sentinel_mask | |
sentinel_mask_in_place |
Definition at line 59 of file markOop.hpp.
anonymous enum [private] |
Definition at line 71 of file markOop.hpp.
anonymous enum [private] |
int markOopDesc::age | ( | ) | const [inline] |
Definition at line 105 of file markOop.hpp.
References age_mask_in_place, age_shift, maskBits, and value().
Referenced by ageTable::add(), Universe::allocate_in_survivor_space(), memOopDesc::gc_retrieve_size(), incr_age(), and print_on().
Here is the call graph for this function:
static markOop markOopDesc::bad | ( | ) | [inline, static] |
Definition at line 131 of file markOop.hpp.
References first_hash_in_place, Mark_Tag, and sentinel_is_place.
markOop markOopDesc::clear_klass_invalid | ( | ) | const [inline] |
Definition at line 92 of file markOop.hpp.
References set_sentinel().
Here is the call graph for this function:
markOop markOopDesc::clear_near_death | ( | ) | const [inline] |
Definition at line 87 of file markOop.hpp.
References near_death_mask_in_place, and value().
Here is the call graph for this function:
markOop markOopDesc::clear_queued | ( | ) | const [inline] |
Definition at line 102 of file markOop.hpp.
References set_sentinel().
Here is the call graph for this function:
markOop markOopDesc::clear_sentinel | ( | ) | const [inline] |
Definition at line 81 of file markOop.hpp.
References sentinel_is_place, and value().
Referenced by set_klass_invalid(), and set_queued().
Here is the call graph for this function:
static int markOopDesc::context_forward_bit_mask | ( | ) | [inline, static] |
bool markOopDesc::has_context_forward | ( | ) | const [inline] |
Definition at line 96 of file markOop.hpp.
References is_near_death().
Here is the call graph for this function:
bool markOopDesc::has_sentinel | ( | ) | const [inline] |
Definition at line 79 of file markOop.hpp.
References maskBits, sentinel_mask_in_place, and value().
Referenced by memOopDesc::is_gc_marked(), is_klass_invalid(), is_oop_root(), and is_queued().
Here is the call graph for this function:
bool markOopDesc::has_tagged_contents | ( | ) | const [inline] |
Definition at line 83 of file markOop.hpp.
References maskBits, tagged_contents_mask_in_place, and value().
Referenced by print_on().
Here is the call graph for this function:
bool markOopDesc::has_valid_hash | ( | ) | const [inline] |
Definition at line 120 of file markOop.hpp.
References hash(), and no_hash.
Referenced by symbolTable::basic_add().
Here is the call graph for this function:
int markOopDesc::hash | ( | ) | const [inline] |
Definition at line 113 of file markOop.hpp.
References hash_mask_in_place, hash_shift, maskBits, and value().
Referenced by assign_hash(), has_valid_hash(), contextOopDesc::length(), contextKlass::oop_follow_contents(), print_on(), and set_hash().
Here is the call graph for this function:
markOop markOopDesc::incr_age | ( | ) | const [inline] |
Definition at line 110 of file markOop.hpp.
References age(), max_age, and set_age().
Referenced by memOopDesc::copy_to_survivor_space().
Here is the call graph for this function:
bool markOopDesc::is_klass_invalid | ( | ) | const [inline] |
Definition at line 90 of file markOop.hpp.
References has_sentinel().
Referenced by klassOopDesc::is_invalid().
Here is the call graph for this function:
bool markOopDesc::is_near_death | ( | ) | const [inline] |
Definition at line 85 of file markOop.hpp.
References maskBits, near_death_mask_in_place, and value().
Referenced by has_context_forward(), PRIM_DECL_1(), print_on(), and memConverter::transfer().
Here is the call graph for this function:
bool markOopDesc::is_queued | ( | ) | const [inline] |
Definition at line 100 of file markOop.hpp.
References has_sentinel().
Referenced by memOopDesc::is_queued().
Here is the call graph for this function:
static int markOopDesc::masked_hash | ( | int | v | ) | [inline, static] |
Definition at line 143 of file markOop.hpp.
References hash_mask.
Referenced by doubleByteArrayOopDesc::hash_value(), and byteArrayOopDesc::hash_value().
void markOopDesc::print_on | ( | outputStream * | st | ) |
Reimplemented from oopDesc.
Definition at line 27 of file markOop.cpp.
References age(), has_tagged_contents(), hash(), is_near_death(), and outputStream::print().
Referenced by oopDesc::print_on(), and oopDesc::print_value_on().
Here is the call graph for this function:
markOop markOopDesc::set_age | ( | int | v | ) | const [inline] |
Definition at line 106 of file markOop.hpp.
References age_mask, age_mask_in_place, age_shift, assert, and value().
Referenced by incr_age().
Here is the call graph for this function:
markOop markOopDesc::set_context_forward | ( | ) | const [inline] |
Definition at line 97 of file markOop.hpp.
References set_near_death().
Here is the call graph for this function:
markOop markOopDesc::set_hash | ( | int | v | ) | const [inline] |
Definition at line 114 of file markOop.hpp.
References assert, first_hash, hash(), hash_mask, hash_mask_in_place, hash_shift, no_hash, and value().
Referenced by assign_hash(), and symbolTable::basic_add().
Here is the call graph for this function:
markOop markOopDesc::set_klass_invalid | ( | ) | const [inline] |
Definition at line 91 of file markOop.hpp.
References clear_sentinel().
Here is the call graph for this function:
markOop markOopDesc::set_near_death | ( | ) | const [inline] |
Definition at line 86 of file markOop.hpp.
References near_death_mask_in_place, and value().
Referenced by set_context_forward().
Here is the call graph for this function:
markOop markOopDesc::set_queued | ( | ) | const [inline] |
Definition at line 101 of file markOop.hpp.
References clear_sentinel().
Here is the call graph for this function:
markOop markOopDesc::set_sentinel | ( | ) | const [inline] |
Definition at line 80 of file markOop.hpp.
References sentinel_is_place, and value().
Referenced by clear_klass_invalid(), and clear_queued().
Here is the call graph for this function:
static markOop markOopDesc::tagged_prototype | ( | ) | [inline, static] |
Definition at line 123 of file markOop.hpp.
References Mark_Tag, no_hash_in_place, and sentinel_is_place.
Referenced by contextKlass::allocateObjectSize(), memOopDesc::bootstrap_header(), memOopDesc::init_mark(), and bootstrap::read_mark().
static markOop markOopDesc::untagged_prototype | ( | ) | [inline, static] |
Definition at line 126 of file markOop.hpp.
References Mark_Tag, no_hash_in_place, sentinel_is_place, and untagged_contents_in_place.
Referenced by memOopDesc::bootstrap_header(), memOopDesc::init_untagged_contents_mark(), and bootstrap::read_mark().
unsigned int markOopDesc::value | ( | ) | const [inline, private] |
Definition at line 41 of file markOop.hpp.
Referenced by age(), clear_near_death(), clear_sentinel(), has_sentinel(), has_tagged_contents(), hash(), is_near_death(), set_age(), set_hash(), set_near_death(), and set_sentinel().
int assign_hash | ( | markOop & | m | ) | [friend] |
Definition at line 34 of file markOop.cpp.
int hash_markOop | ( | markOop & | m | ) | [friend] |
Definition at line 135 of file markOop.hpp.