MarkSweep Class Reference

#include <markSweep.hpp>

Inheritance diagram for MarkSweep:

Inheritance graph
[legend]
Collaboration diagram for MarkSweep:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

static oop collect (oop p=NULL)
static void follow_root (oop *p)
static void reverse_and_push (oop *p)
static void reverse_and_follow (oop *p)
static void add_hcode_offset (int offset)
static int next_hcode_offset ()

Static Private Member Functions

static void mark_sweep_phase1 (oop *p)
static void mark_sweep_phase2 ()
static void mark_sweep_phase3 ()
static memOop reverse (oop *p)
static void allocate ()
static void deallocate ()
static void trace (char *msg)

Static Private Attributes

static GrowableArray< memOop > * stack
static GrowableArray< int > * hcode_offsets
static int hcode_pos

Detailed Description

Definition at line 25 of file markSweep.hpp.


Member Function Documentation

void MarkSweep::add_hcode_offset ( int  offset  )  [static]

Definition at line 133 of file markSweep.cpp.

References hcode_offsets, and GrowableArray< E >::push().

Referenced by frame::convert_hcode_pointer().

Here is the call graph for this function:

void MarkSweep::allocate (  )  [static, private]

Definition at line 71 of file markSweep.cpp.

References hcode_offsets, hcode_pos, and stack.

Referenced by collect().

oop MarkSweep::collect ( oop  p = NULL  )  [static]

Definition at line 31 of file markSweep.cpp.

References allocate(), rSet::clear(), DeltaCallCache::clearAll(), deallocate(), lookupCache::flush(), GCInProgress, mark_sweep_phase1(), mark_sweep_phase2(), mark_sweep_phase3(), Universe::old_gen, outputStream::print(), Universe::remembered_set, std, oldGeneration::used(), and Universe::verify().

Referenced by VM_GarbageCollect::doit().

Here is the call graph for this function:

void MarkSweep::deallocate (  )  [static, private]

Definition at line 77 of file markSweep.cpp.

References hcode_offsets, and stack.

Referenced by collect().

void MarkSweep::follow_root ( oop p  )  [static]

Definition at line 127 of file markSweep.cpp.

References reverse_and_follow(), and stack.

Referenced by vmSymbols::follow_contents(), frame::follow_roots(), frame::follow_roots_interpreted_float_frame(), symbolTable::follow_used_symbols(), and mark_sweep_phase1().

Here is the call graph for this function:

void MarkSweep::mark_sweep_phase1 ( oop p  )  [static, private]

Definition at line 141 of file markSweep.cpp.

References assert, WeakArrayRegister::begin_mark_sweep(), WeakArrayRegister::check_and_follow_contents(), Processes::convert_hcode_pointers(), vmSymbols::follow_contents(), follow_root(), Processes::follow_roots(), symbolTable::follow_used_symbols(), NotificationQueue::oops_do(), Universe::oops_do(), stack, Universe::symbol_table, and trace().

Referenced by collect().

Here is the call graph for this function:

void MarkSweep::mark_sweep_phase2 (  )  [static, private]

Definition at line 167 of file markSweep.cpp.

References oldGeneration::bottom_mark(), Universe::new_gen, Universe::old_gen, newGeneration::prepare_for_compaction(), oldGeneration::prepare_for_compaction(), and trace().

Referenced by collect().

Here is the call graph for this function:

void MarkSweep::mark_sweep_phase3 (  )  [static, private]

Definition at line 178 of file markSweep.cpp.

References OldWaterMark::_space, oldGeneration::bottom_mark(), newGeneration::compact(), oldGeneration::compact(), oldSpace::initialize_threshold(), Universe::new_gen, Universe::old_gen, Processes::restore_hcode_pointers(), and trace().

Referenced by collect().

Here is the call graph for this function:

int MarkSweep::next_hcode_offset (  )  [static]

Definition at line 137 of file markSweep.cpp.

References GrowableArray< E >::at(), hcode_offsets, and hcode_pos.

Referenced by frame::restore_hcode_pointer().

Here is the call graph for this function:

memOop MarkSweep::reverse ( oop p  )  [inline, static, private]

Definition at line 87 of file markSweep.cpp.

References assert, memOopDesc::gc_store_size(), oopDesc::is_mem(), and memOopDesc::set_mark().

Referenced by reverse_and_follow(), and reverse_and_push().

Here is the call graph for this function:

void MarkSweep::reverse_and_follow ( oop p  )  [static]

Definition at line 122 of file markSweep.cpp.

References memOopDesc::follow_contents(), and reverse().

Referenced by WeakArrayRegister::follow_contents(), follow_root(), and weakArrayKlass::oop_follow_contents().

Here is the call graph for this function:

void MarkSweep::reverse_and_push ( oop p  )  [static]

Definition at line 117 of file markSweep.cpp.

References reverse(), and stack.

Referenced by memOopDesc::follow_body(), memOopDesc::follow_header(), objArrayKlass::oop_follow_contents(), methodKlass::oop_follow_contents(), klassKlass::oop_follow_contents(), contextKlass::oop_follow_contents(), and blockClosureKlass::oop_follow_contents().

Here is the call graph for this function:

void MarkSweep::trace ( char *  msg  )  [static, private]

Definition at line 82 of file markSweep.cpp.

References outputStream::print(), and std.

Referenced by mark_sweep_phase1(), mark_sweep_phase2(), and mark_sweep_phase3().

Here is the call graph for this function:


Member Data Documentation

GrowableArray< int > * MarkSweep::hcode_offsets [static, private]

Definition at line 41 of file markSweep.hpp.

Referenced by add_hcode_offset(), allocate(), deallocate(), and next_hcode_offset().

int MarkSweep::hcode_pos [static, private]

Definition at line 42 of file markSweep.hpp.

Referenced by allocate(), and next_hcode_offset().

GrowableArray< memOop > * MarkSweep::stack [static, private]

Definition at line 38 of file markSweep.hpp.

Referenced by allocate(), deallocate(), follow_root(), mark_sweep_phase1(), and reverse_and_push().


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