space Class Reference

#include <space.hpp>

Inheritance diagram for space:

Inheritance graph
[legend]
Collaboration diagram for space:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual oopbottom ()=0
virtual ooptop ()=0
virtual oopend ()=0
char * name () const
void set_name (char *name)
void initialize (char *name, oop *bottom, oop *end)
void clear ()
bool is_empty ()
int capacity ()
int used ()
int free ()
void prepare_for_compaction (OldWaterMark *mark)
void compact (OldWaterMark *mark)
void switch_pointers (oop from, oop to)
void print ()
void object_iterate (ObjectClosure *blk)

Protected Member Functions

virtual void set_bottom (oop *value)=0
virtual void set_top (oop *value)=0
virtual void set_end (oop *value)=0
virtual void verify ()=0
void oops_do (oopsDoFn f)

Private Attributes

char * _name

Detailed Description

Definition at line 55 of file space.hpp.


Member Function Documentation

virtual oop* space::bottom (  )  [pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by capacity(), clear(), compact(), initialize(), object_iterate(), newSpace::object_start(), oops_do(), prepare_for_compaction(), print(), used(), and newSpace::verify().

int space::capacity (  )  [inline]

Definition at line 81 of file space.hpp.

References bottom(), byte_size(), and end().

Referenced by oldGeneration::allocate_in_next_space(), newGeneration::capacity(), clear(), Universe::needs_garbage_collection(), print(), and Universe::scavenge().

Here is the call graph for this function:

void space::clear (  ) 

Definition at line 39 of file space.cpp.

References bottom(), capacity(), oopSize, set_oops(), and set_top().

Referenced by newGeneration::compact(), Universe::scavenge(), and newGeneration::swap_spaces().

Here is the call graph for this function:

void space::compact ( OldWaterMark mark  ) 

Definition at line 108 of file space.cpp.

References OldWaterMark::_point, OldWaterMark::_space, as_memOop(), assert, bottom(), copy_oops(), memOopDesc::gc_retrieve_size(), oopDesc::is_smi(), memOopDesc::mark(), set_top(), oldSpace::set_top(), top(), and oldSpace::update_offsets().

Referenced by newGeneration::compact().

Here is the call graph for this function:

virtual oop* space::end (  )  [pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by capacity(), free(), and initialize().

int space::free (  )  [inline]

Definition at line 83 of file space.hpp.

References byte_size(), end(), and top().

Referenced by newGeneration::free().

Here is the call graph for this function:

void space::initialize ( char *  name,
oop bottom,
oop end 
)

Definition at line 52 of file space.cpp.

References assert, bottom(), end(), Universe::on_page_boundary(), set_bottom(), set_end(), set_name(), and set_top().

Referenced by newGeneration::initialize().

Here is the call graph for this function:

bool space::is_empty (  )  [inline]

Definition at line 80 of file space.hpp.

References used().

Referenced by object_iterate().

Here is the call graph for this function:

char* space::name (  )  const [inline]

Definition at line 67 of file space.hpp.

References _name.

Referenced by print(), rSet::print_set_for_space(), oldSpace::verify(), and newSpace::verify().

void space::object_iterate ( ObjectClosure blk  ) 

Definition at line 287 of file space.cpp.

References as_memOop(), ObjectClosure::begin_space(), bottom(), ObjectClosure::do_object(), ObjectClosure::end_space(), is_empty(), memOopDesc::size(), and top().

Referenced by newGeneration::object_iterate().

Here is the call graph for this function:

void space::oops_do ( oopsDoFn  f  )  [protected]

Definition at line 269 of file space.cpp.

References as_memOop(), bottom(), and top().

Here is the call graph for this function:

void space::prepare_for_compaction ( OldWaterMark mark  ) 

Definition at line 61 of file space.cpp.

References OldWaterMark::_point, as_memOop(), bottom(), memOopDesc::gc_retrieve_size(), memOopDesc::is_gc_marked(), is_oop_root(), memOopDesc::mark(), memOopDesc::set_mark(), memOopDesc::size(), and top().

Referenced by newGeneration::prepare_for_compaction().

Here is the call graph for this function:

void space::print (  ) 

Definition at line 279 of file space.cpp.

References bottom(), capacity(), outputStream::cr(), K, name(), outputStream::print(), std, top(), used(), and WizardMode.

Referenced by newGeneration::print().

Here is the call graph for this function:

virtual void space::set_bottom ( oop value  )  [protected, pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by initialize().

virtual void space::set_end ( oop value  )  [protected, pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by initialize().

void space::set_name ( char *  name  )  [inline]

Definition at line 68 of file space.hpp.

References _name.

Referenced by initialize(), oldSpace::oldSpace(), and newGeneration::swap_spaces().

virtual void space::set_top ( oop value  )  [protected, pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by clear(), compact(), and initialize().

void space::switch_pointers ( oop  from,
oop  to 
)

Definition at line 47 of file space.cpp.

References fatal.

Referenced by newGeneration::switch_pointers().

virtual oop* space::top (  )  [pure virtual]

Implemented in edenSpace, survivorSpace, and oldSpace.

Referenced by compact(), free(), object_iterate(), newSpace::object_iterate_from(), newSpace::object_start(), oops_do(), prepare_for_compaction(), print(), newSpace::top_mark(), used(), and newSpace::verify().

int space::used (  )  [inline]

Definition at line 82 of file space.hpp.

References bottom(), byte_size(), and top().

Referenced by is_empty(), print(), and newGeneration::used().

Here is the call graph for this function:

virtual void space::verify (  )  [protected, pure virtual]

Implemented in newSpace, and oldSpace.


Member Data Documentation

char* space::_name [private]

Definition at line 58 of file space.hpp.

Referenced by name(), and set_name().


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