rSet Class Reference

#include <rSet.hpp>

Inheritance diagram for rSet:

Inheritance graph
[legend]
Collaboration diagram for rSet:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int byte_map_size () const
 rSet ()
void * operator new (size_t size)
void clear ()
char * byte_map_base () const
void record_store (void *p)
bool is_dirty (void *p) const
bool is_object_dirty (memOop obj)
void scavenge_contents (oldSpace *s)
char * scavenge_contents (oldSpace *s, char *begin, char *limit)
bool verify (bool postScavenge)
void print_set_for_space (oldSpace *sp)
void print_set_for_object (memOop obj)
int number_of_dirty_pages_in (oldSpace *sp)
int number_of_pages_with_dirty_objects_in (oldSpace *sp)
void set_size (memOop obj, int size)
int get_size (memOop obj)

Private Member Functions

char * byte_for (void *p) const
oopoop_for (char *p) const
char * byte_map_end () const
void fixup (char *start, char *end)
void clear (char *start, char *end)
 rSet (rSet *old, char *start, char *end)
bool has_page_dirty_objects (oldSpace *sp, char *page)

Private Attributes

char * low_boundary
char * high_boundary
char byte_map [1]

Friends

class oldSpace
class oldGeneration
class SetOopClosure
oopcard_for (oop *p)

Detailed Description

Definition at line 33 of file rSet.hpp.


Constructor & Destructor Documentation

rSet::rSet (  ) 

Definition at line 51 of file rSet.cpp.

References assert, byte_for(), byte_map, clear(), generation::high_boundary, high_boundary, generation::low_boundary, low_boundary, Universe::new_gen, Universe::old_gen, and Set_Byte_Map_Base().

Referenced by fixup().

Here is the call graph for this function:

rSet::rSet ( rSet old,
char *  start,
char *  end 
) [private]

Definition at line 74 of file rSet.cpp.

References ShouldNotReachHere.


Member Function Documentation

char* rSet::byte_for ( void *  p  )  const [inline, private]

Definition at line 44 of file rSet.hpp.

References byte_map, card_shift, and low_boundary.

Referenced by byte_map_base(), byte_map_end(), fixup(), get_size(), is_dirty(), is_object_dirty(), number_of_dirty_pages_in(), number_of_pages_with_dirty_objects_in(), print_set_for_object(), print_set_for_space(), record_store(), rSet(), scavenge_contents(), and set_size().

char* rSet::byte_map_base (  )  const [inline]

Definition at line 57 of file rSet.hpp.

References byte_for().

Here is the call graph for this function:

char * rSet::byte_map_end (  )  const [inline, private]

Definition at line 25 of file rSet.inline.hpp.

References byte_for(), high_boundary, and Universe::old_gen.

Referenced by clear().

Here is the call graph for this function:

int rSet::byte_map_size (  )  const [inline]

Definition at line 52 of file rSet.hpp.

References card_size, high_boundary, and low_boundary.

void rSet::clear ( char *  start,
char *  end 
) [private]

Definition at line 269 of file rSet.cpp.

References AllBits, and set_words().

Here is the call graph for this function:

void rSet::clear (  )  [inline]

Definition at line 28 of file rSet.inline.hpp.

References byte_map, and byte_map_end().

Referenced by MarkSweep::collect(), fixup(), and rSet().

Here is the call graph for this function:

void rSet::fixup ( char *  start,
char *  end 
) [private]

Definition at line 322 of file rSet.cpp.

References byte_for(), clear(), high_boundary, Universe::remembered_set, and rSet().

Referenced by oldGeneration::allocate_in_next_space(), and oldGeneration::expand().

Here is the call graph for this function:

int rSet::get_size ( memOop  obj  ) 

Definition at line 310 of file rSet.cpp.

References memOopDesc::addr(), byte_for(), lim_0, lim_1, lim_2, lim_3, and ShouldNotReachHere.

Referenced by memOopDesc::gc_retrieve_size().

Here is the call graph for this function:

bool rSet::has_page_dirty_objects ( oldSpace sp,
char *  page 
) [private]

Definition at line 206 of file rSet.cpp.

References as_memOop(), min(), oldSpace::object_start(), oop_for(), memOopDesc::oop_iterate(), memOopDesc::size(), and oldSpace::top().

Referenced by number_of_pages_with_dirty_objects_in().

Here is the call graph for this function:

bool rSet::is_dirty ( void *  p  )  const [inline]

Definition at line 59 of file rSet.hpp.

References byte_for().

Here is the call graph for this function:

bool rSet::is_object_dirty ( memOop  obj  ) 

Definition at line 258 of file rSet.cpp.

References memOopDesc::addr(), assert, byte_for(), memOopDesc::is_new(), and memOopDesc::size().

Here is the call graph for this function:

int rSet::number_of_dirty_pages_in ( oldSpace sp  ) 

Definition at line 173 of file rSet.cpp.

References oldSpace::bottom(), byte_for(), and oldSpace::top().

Referenced by oldGeneration::number_of_dirty_pages().

Here is the call graph for this function:

int rSet::number_of_pages_with_dirty_objects_in ( oldSpace sp  ) 

Definition at line 224 of file rSet.cpp.

References oldSpace::bottom(), byte_for(), has_page_dirty_objects(), and oldSpace::top().

Referenced by oldGeneration::number_of_pages_with_dirty_objects().

Here is the call graph for this function:

oop* rSet::oop_for ( char *  p  )  const [inline, private]

Definition at line 45 of file rSet.hpp.

References byte_map, card_shift, and low_boundary.

Referenced by has_page_dirty_objects(), and scavenge_contents().

void * rSet::operator new ( size_t  size  ) 

Reimplemented from CHeapObj.

Definition at line 59 of file rSet.cpp.

References AllocateHeap(), assert, card_size, generation::high_boundary, high_boundary, generation::low_boundary, low_boundary, Universe::new_gen, and Universe::old_gen.

Here is the call graph for this function:

void rSet::print_set_for_object ( memOop  obj  ) 

Definition at line 236 of file rSet.cpp.

References memOopDesc::addr(), byte_for(), outputStream::cr(), memOopDesc::is_new(), outputStream::print(), outputStream::print_cr(), oopDesc::print_value(), memOopDesc::size(), outputStream::sp(), and std.

Referenced by VerifyOldOopClosure::do_oop(), and pr().

Here is the call graph for this function:

void rSet::print_set_for_space ( oldSpace sp  ) 

Definition at line 158 of file rSet.cpp.

References oldSpace::bottom(), byte_for(), lprintf(), space::name(), and oldSpace::top().

Referenced by oldGeneration::print_remembered_set().

Here is the call graph for this function:

void rSet::record_store ( void *  p  )  [inline]

Definition at line 58 of file rSet.hpp.

References byte_for().

Referenced by memOopKlass::oop_shallow_copy(), and Universe::store().

Here is the call graph for this function:

char * rSet::scavenge_contents ( oldSpace s,
char *  begin,
char *  limit 
)

Definition at line 90 of file rSet.cpp.

References as_memOop(), assert, byte_for(), min(), oldSpace::object_start(), oop_for(), memOopDesc::scavenge_tenured_contents(), memOopDesc::size(), and oldSpace::top().

Here is the call graph for this function:

void rSet::scavenge_contents ( oldSpace s  ) 

Definition at line 140 of file rSet.cpp.

References oldSpace::bottom(), byte_for(), and oldSpace::top().

Referenced by oldSpace::scavenge_recorded_stores().

Here is the call graph for this function:

void rSet::set_size ( memOop  obj,
int  size 
)

Definition at line 293 of file rSet.cpp.

References memOopDesc::addr(), assert, byte_for(), lim_0, lim_1, lim_2, and lim_3.

Referenced by memOopDesc::gc_store_size().

Here is the call graph for this function:

bool rSet::verify ( bool  postScavenge  ) 

Definition at line 275 of file rSet.cpp.

Referenced by Universe::verify().


Friends And Related Function Documentation

oop* card_for ( oop p  )  [friend]

Definition at line 47 of file rSet.hpp.

friend class oldGeneration [friend]

Definition at line 35 of file rSet.hpp.

friend class oldSpace [friend]

Definition at line 34 of file rSet.hpp.

friend class SetOopClosure [friend]

Definition at line 36 of file rSet.hpp.


Member Data Documentation

char rSet::byte_map[1] [private]

Definition at line 41 of file rSet.hpp.

Referenced by byte_for(), clear(), oop_for(), and rSet().

char* rSet::high_boundary [private]

Definition at line 40 of file rSet.hpp.

Referenced by byte_map_end(), byte_map_size(), fixup(), operator new(), and rSet().

char* rSet::low_boundary [private]

Definition at line 39 of file rSet.hpp.

Referenced by byte_for(), byte_map_size(), oop_for(), operator new(), and rSet().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:15:41 2006 for Strongtalk VM by  doxygen 1.4.7