#include <markSweep.hpp>
Inheritance diagram for MarkSweep:
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 |
Definition at line 25 of file markSweep.hpp.
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().
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:
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:
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] |
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().