oldGeneration Class Reference

#include <generation.hpp>

Inheritance diagram for oldGeneration:

Inheritance graph
[legend]
Collaboration diagram for oldGeneration:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int expand (int size)
oopallocate (int size)
void initialize (ReservedSpace rs, int initial_size)
int capacity ()
int used ()
int free ()
void print ()
void print_remembered_set ()
int number_of_dirty_pages ()
int number_of_pages_with_dirty_objects ()
void object_iterate (ObjectClosure *blk)
void object_iterate_from (OldWaterMark *mark, ObjectClosure *blk)
void verify ()
bool contains (void *p)
oopobject_start (oop *p)
OldWaterMark top_mark ()
OldWaterMark bottom_mark ()

Private Member Functions

oopallocate_in_next_space (int size)
void scavenge_contents_from (OldWaterMark *mark)
void switch_pointers (oop from, oop to)
void switch_pointers_by_card (oop from, oop to)
void sorted_space_list (oldSpace *sp[], int(*cmp)(oldSpace **, oldSpace **))
void prepare_for_compaction (OldWaterMark *mark)
void compact (OldWaterMark *mark)
void append_space (oldSpace *last)

Private Attributes

oldSpacefirst_space
oldSpacecurrent_space
oldSpacelast_space

Friends

class rSet
class Universe
class MarkSweep
class oldSpace
class symbolKlass

Detailed Description

Definition at line 108 of file generation.hpp.


Member Function Documentation

oop* oldGeneration::allocate ( int  size  )  [inline]

Definition at line 130 of file generation.hpp.

References oldSpace::allocate(), and current_space.

Referenced by allocate_in_next_space(), Universe::allocate_in_survivor_space(), and Universe::allocate_tenured().

Here is the call graph for this function:

oop * oldGeneration::allocate_in_next_space ( int  size  )  [private]

Definition at line 246 of file generation.cpp.

References allocate(), append_space(), oldSpace::bottom(), capacity(), space::capacity(), Universe::current_sizes, current_space, oldSpace::end(), fatal, rSet::fixup(), generation::high_boundary, last_space, generation::low_boundary, Universe::new_gen, oldSpace::next_space, spaceSizes::old_size, oldSpace, Universe::remembered_set, and warning().

Here is the call graph for this function:

void oldGeneration::append_space ( oldSpace last  )  [private]

Definition at line 240 of file generation.cpp.

References last_space, and oldSpace::next_space.

Referenced by allocate_in_next_space(), and expand().

OldWaterMark oldGeneration::bottom_mark (  )  [inline]

Definition at line 163 of file generation.hpp.

References oldSpace::bottom_mark(), and first_space.

Referenced by HeapSweeper::activate(), MarkSweep::mark_sweep_phase2(), and MarkSweep::mark_sweep_phase3().

Here is the call graph for this function:

int oldGeneration::capacity (  )  [virtual]

Implements generation.

Definition at line 169 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by allocate_in_next_space(), and expand().

void oldGeneration::compact ( OldWaterMark mark  )  [private]

Definition at line 235 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by MarkSweep::mark_sweep_phase3().

bool oldGeneration::contains ( void *  p  ) 

Definition at line 164 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by Universe::is_heap(), and Universe::verify_oop().

int oldGeneration::expand ( int  size  ) 

Definition at line 202 of file generation.cpp.

References append_space(), assert, oldSpace::bottom(), capacity(), Universe::current_sizes, oldSpace::end(), fatal, rSet::fixup(), generation::high_boundary, generation::low_boundary, Universe::new_gen, spaceSizes::old_size, oldSpace, and Universe::remembered_set.

Here is the call graph for this function:

int oldGeneration::free (  )  [virtual]

Implements generation.

Definition at line 181 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by Universe::free(), and Universe::needs_garbage_collection().

void oldGeneration::initialize ( ReservedSpace  rs,
int  initial_size 
)

Definition at line 153 of file generation.cpp.

References current_space, first_space, VirtualSpace::high_boundary(), generation::high_boundary, VirtualSpace::initialize(), last_space, VirtualSpace::low_boundary(), generation::low_boundary, oldSpace, and generation::virtual_space.

Referenced by Universe::genesis().

Here is the call graph for this function:

int oldGeneration::number_of_dirty_pages (  ) 

Definition at line 285 of file generation.cpp.

References FOR_EACH_OLD_SPACE, rSet::number_of_dirty_pages_in(), and Universe::remembered_set.

Here is the call graph for this function:

int oldGeneration::number_of_pages_with_dirty_objects (  ) 

Definition at line 293 of file generation.cpp.

References FOR_EACH_OLD_SPACE, rSet::number_of_pages_with_dirty_objects_in(), and Universe::remembered_set.

Here is the call graph for this function:

void oldGeneration::object_iterate ( ObjectClosure blk  ) 

Definition at line 301 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by Reflection::apply_change(), and Universe::object_iterate().

void oldGeneration::object_iterate_from ( OldWaterMark mark,
ObjectClosure blk 
)

Definition at line 305 of file generation.cpp.

References OldWaterMark::_space, oldSpace::next_space, and oldSpace::object_iterate_from().

Referenced by Reflection::apply_change().

Here is the call graph for this function:

oop * oldGeneration::object_start ( oop p  ) 

Definition at line 332 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by Universe::object_start().

void oldGeneration::prepare_for_compaction ( OldWaterMark mark  )  [private]

Definition at line 230 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by MarkSweep::mark_sweep_phase2().

void oldGeneration::print (  ) 

Reimplemented from generation.

Definition at line 272 of file generation.cpp.

References FOR_EACH_OLD_SPACE, generation::print(), outputStream::print_cr(), std, and WizardMode.

Referenced by Universe::print().

Here is the call graph for this function:

void oldGeneration::print_remembered_set (  ) 

Definition at line 280 of file generation.cpp.

References FOR_EACH_OLD_SPACE, lprintf(), rSet::print_set_for_space(), and Universe::remembered_set.

Here is the call graph for this function:

void oldGeneration::scavenge_contents_from ( OldWaterMark mark  )  [private]

Definition at line 187 of file generation.cpp.

References OldWaterMark::_space, oldSpace::bottom_mark(), current_space, oldSpace::next_space, and oldSpace::scavenge_contents_from().

Referenced by Universe::scavenge().

Here is the call graph for this function:

void oldGeneration::sorted_space_list ( oldSpace sp[],
int(*)(oldSpace **, oldSpace **)  cmp 
) [private]

void oldGeneration::switch_pointers ( oop  from,
oop  to 
) [private]

Definition at line 195 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by Universe::switch_pointers().

void oldGeneration::switch_pointers_by_card ( oop  from,
oop  to 
) [private]

OldWaterMark oldGeneration::top_mark (  )  [inline]

Definition at line 162 of file generation.hpp.

References current_space, and oldSpace::top_mark().

Referenced by Reflection::apply_change(), and Universe::scavenge().

Here is the call graph for this function:

int oldGeneration::used (  )  [virtual]

Implements generation.

Definition at line 175 of file generation.cpp.

References FOR_EACH_OLD_SPACE.

Referenced by MarkSweep::collect().

void oldGeneration::verify (  ) 

Definition at line 313 of file generation.cpp.

References APPLY_TO_OLD_SPACES, error(), FOR_EACH_OLD_SPACE, last_space, and SPACE_VERIFY_TEMPLATE.

Referenced by Universe::verify().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class MarkSweep [friend]

Reimplemented from generation.

Definition at line 111 of file generation.hpp.

friend class oldSpace [friend]

Definition at line 112 of file generation.hpp.

Referenced by allocate_in_next_space(), expand(), and initialize().

friend class rSet [friend]

Reimplemented from generation.

Definition at line 109 of file generation.hpp.

friend class symbolKlass [friend]

Definition at line 113 of file generation.hpp.

friend class Universe [friend]

Reimplemented from generation.

Definition at line 110 of file generation.hpp.


Member Data Documentation

oldSpace* oldGeneration::current_space [private]

Definition at line 124 of file generation.hpp.

Referenced by allocate(), allocate_in_next_space(), initialize(), scavenge_contents_from(), and top_mark().

oldSpace* oldGeneration::first_space [private]

Definition at line 123 of file generation.hpp.

Referenced by bottom_mark(), and initialize().

oldSpace* oldGeneration::last_space [private]

Definition at line 125 of file generation.hpp.

Referenced by allocate_in_next_space(), append_space(), initialize(), and verify().


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