newGeneration Class Reference

#include <generation.hpp>

Inheritance diagram for newGeneration:

Inheritance graph
[legend]
Collaboration diagram for newGeneration:

Collaboration graph
[legend]
List of all members.

Public Member Functions

edenSpaceeden ()
survivorSpacefrom ()
survivorSpaceto ()
int capacity ()
int used ()
int free ()
void print ()
void object_iterate (ObjectClosure *blk)
void verify ()
bool would_fit (int size)
void swap_spaces ()
bool contains (void *p)
oopobject_start (oop *p)
oopallocate (int size)
oopallocate_in_survivor_space (int size)
char * boundary ()

Protected Member Functions

bool is_new (memOop p, char *boundary)
bool is_new (oop p, char *boundary)

Private Member Functions

void initialize (ReservedSpace rs, int eden_size, int surv_size)
void prepare_for_compaction (OldWaterMark *mark)
void compact (OldWaterMark *mark)
void switch_pointers (oop from, oop to)

Private Attributes

edenSpace eden_space
survivorSpacefrom_space
survivorSpaceto_space

Friends

class rSet
class Universe
class MarkSweep
class OopNCode

Detailed Description

Definition at line 51 of file generation.hpp.


Member Function Documentation

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

Definition at line 86 of file generation.hpp.

References edenSpace::allocate(), and eden().

Referenced by Universe::allocate(), and Universe::allocate_without_scavenge().

Here is the call graph for this function:

oop* newGeneration::allocate_in_survivor_space ( int  size  )  [inline]

Definition at line 87 of file generation.hpp.

References survivorSpace::allocate(), and to_space.

Referenced by Universe::allocate_in_survivor_space().

Here is the call graph for this function:

char* newGeneration::boundary (  )  [inline]

Definition at line 90 of file generation.hpp.

References generation::high_boundary.

int newGeneration::capacity (  )  [virtual]

Implements generation.

Definition at line 93 of file generation.cpp.

References space::capacity(), eden(), from(), and to().

Here is the call graph for this function:

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

Definition at line 80 of file generation.cpp.

References space::clear(), space::compact(), eden(), and from().

Referenced by MarkSweep::mark_sweep_phase3().

Here is the call graph for this function:

bool newGeneration::contains ( void *  p  )  [inline]

Definition at line 81 of file generation.hpp.

References generation::high_boundary, and generation::low_boundary.

Referenced by Universe::generation_containing(), Universe::is_heap(), Universe::object_start(), and object_start().

edenSpace* newGeneration::eden (  )  [inline]

Definition at line 63 of file generation.hpp.

References eden_space.

Referenced by allocate(), Reflection::apply_change(), capacity(), compact(), free(), initialize(), object_iterate(), object_start(), prepare_for_compaction(), print(), Universe::spaceFor(), swap_spaces(), switch_pointers(), used(), verify(), Universe::verify_oop(), and VerifyNoAllocation::VerifyNoAllocation().

int newGeneration::free (  )  [virtual]

Implements generation.

Definition at line 105 of file generation.cpp.

References eden(), space::free(), from(), and to().

Here is the call graph for this function:

survivorSpace* newGeneration::from (  )  [inline]

Definition at line 64 of file generation.hpp.

References from_space.

Referenced by capacity(), compact(), free(), initialize(), object_iterate(), object_start(), prepare_for_compaction(), print(), Universe::spaceFor(), swap_spaces(), switch_pointers(), used(), verify(), and Universe::verify_oop().

void newGeneration::initialize ( ReservedSpace  rs,
int  eden_size,
int  surv_size 
) [private]

Definition at line 49 of file generation.cpp.

References eden(), from(), from_space, VirtualSpace::high_boundary(), generation::high_boundary, space::initialize(), VirtualSpace::initialize(), VirtualSpace::low(), VirtualSpace::low_boundary(), generation::low_boundary, newSpace::next_space, ReservedSpace::size(), to(), to_space, and generation::virtual_space.

Referenced by Universe::genesis().

Here is the call graph for this function:

bool newGeneration::is_new ( oop  p,
char *  boundary 
) [inline, protected]

Definition at line 27 of file generation.inline.hpp.

References oopDesc::is_mem(), and is_new().

Here is the call graph for this function:

bool newGeneration::is_new ( memOop  p,
char *  boundary 
) [inline, protected]

Definition at line 24 of file generation.inline.hpp.

Referenced by is_new().

void newGeneration::object_iterate ( ObjectClosure blk  ) 

Definition at line 129 of file generation.cpp.

References eden(), from(), and space::object_iterate().

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

Here is the call graph for this function:

oop * newGeneration::object_start ( oop p  ) 

Definition at line 88 of file generation.cpp.

References contains(), eden(), from(), and newSpace::object_start().

Referenced by Universe::object_start().

Here is the call graph for this function:

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

Definition at line 74 of file generation.cpp.

References eden(), from(), and space::prepare_for_compaction().

Referenced by MarkSweep::mark_sweep_phase2().

Here is the call graph for this function:

void newGeneration::print (  ) 

Reimplemented from generation.

Definition at line 117 of file generation.cpp.

References eden(), from(), space::print(), generation::print(), outputStream::print_cr(), std, to(), and WizardMode.

Referenced by Universe::print().

Here is the call graph for this function:

void newGeneration::swap_spaces (  ) 

Definition at line 32 of file generation.cpp.

References space::clear(), eden(), from(), from_space, newSpace::next_space, space::set_name(), to(), and to_space.

Referenced by Universe::scavenge().

Here is the call graph for this function:

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

Definition at line 111 of file generation.cpp.

References eden(), from(), space::switch_pointers(), and to().

Referenced by Universe::switch_pointers().

Here is the call graph for this function:

survivorSpace* newGeneration::to (  )  [inline]

Definition at line 65 of file generation.hpp.

References to_space.

Referenced by capacity(), free(), initialize(), Universe::needs_garbage_collection(), print(), Universe::scavenge(), Universe::should_scavenge(), swap_spaces(), switch_pointers(), used(), verify(), and Universe::verify_oop().

int newGeneration::used (  )  [virtual]

Implements generation.

Definition at line 99 of file generation.cpp.

References eden(), from(), to(), and space::used().

Here is the call graph for this function:

void newGeneration::verify (  ) 

Definition at line 134 of file generation.cpp.

References eden(), error(), from(), from_space, to(), to_space, and newSpace::verify().

Referenced by Universe::verify().

Here is the call graph for this function:

bool newGeneration::would_fit ( int  size  )  [inline]

Definition at line 77 of file generation.hpp.

References to_space, and survivorSpace::would_fit().

Referenced by Universe::allocate_in_survivor_space().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class MarkSweep [friend]

Reimplemented from generation.

Definition at line 54 of file generation.hpp.

friend class OopNCode [friend]

Definition at line 55 of file generation.hpp.

friend class rSet [friend]

Reimplemented from generation.

Definition at line 52 of file generation.hpp.

friend class Universe [friend]

Reimplemented from generation.

Definition at line 53 of file generation.hpp.


Member Data Documentation

edenSpace newGeneration::eden_space [private]

Definition at line 58 of file generation.hpp.

Referenced by eden().

survivorSpace* newGeneration::from_space [private]

Definition at line 59 of file generation.hpp.

Referenced by from(), initialize(), swap_spaces(), and verify().

survivorSpace* newGeneration::to_space [private]

Definition at line 60 of file generation.hpp.

Referenced by allocate_in_survivor_space(), initialize(), Universe::scavenge(), swap_spaces(), to(), verify(), and would_fit().


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