Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Memory.Manager
Class GCMapIteratorGroup  view GCMapIteratorGroup download GCMapIteratorGroup.java

java.lang.Object
  extended byMemory.Manager.GCMapIteratorGroup

public class GCMapIteratorGroup
extends java.lang.Object

Version:
$Id: GCMapIteratorGroup.java,v 1.2 2003/05/12 10:05:19 joewhaley Exp $

Field Summary
private  GCMapIterator bootImageCompilerIterator
          iterator for VM_BootImageCompiler stackframes
private  GCMapIterator fallbackCompilerIterator
          iterator for fallback compiler (baseline) stackframes
private  GCMapIterator hardwareTrapIterator
          iterator for VM_HardwareTrap stackframes
private  GCMapIterator jniIterator
          iterator for JNI Java -> C stackframes
private  Memory.Address[] registerLocations
          current location (memory address) of each gpr register
private  GCMapIterator runtimeCompilerIterator
          iterator for VM_RuntimeCompiler stackframes
private  GCMapIterator testOptCompilerIterator
          iterator for test compiler (opt) stackframes
 
Constructor Summary
(package private) GCMapIteratorGroup()
           
 
Method Summary
(package private)  GCMapIterator getJniIterator()
          get the GCMapIterator used for scanning JNI native stack frames.
(package private)  void newStackWalk(Scheduler.jq_Thread thread)
          Prepare to scan a thread's stack for object references.
(package private)  GCMapIterator selectIterator(Clazz.jq_CompiledCode compiledMethod)
          Select iterator for scanning for object references in a stackframe.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

registerLocations

private Memory.Address[] registerLocations
current location (memory address) of each gpr register


bootImageCompilerIterator

private GCMapIterator bootImageCompilerIterator
iterator for VM_BootImageCompiler stackframes


runtimeCompilerIterator

private GCMapIterator runtimeCompilerIterator
iterator for VM_RuntimeCompiler stackframes


hardwareTrapIterator

private GCMapIterator hardwareTrapIterator
iterator for VM_HardwareTrap stackframes


fallbackCompilerIterator

private GCMapIterator fallbackCompilerIterator
iterator for fallback compiler (baseline) stackframes


testOptCompilerIterator

private GCMapIterator testOptCompilerIterator
iterator for test compiler (opt) stackframes


jniIterator

private GCMapIterator jniIterator
iterator for JNI Java -> C stackframes

Constructor Detail

GCMapIteratorGroup

GCMapIteratorGroup()
Method Detail

newStackWalk

void newStackWalk(Scheduler.jq_Thread thread)
Prepare to scan a thread's stack for object references. Called by collector threads when beginning to scan a threads stack. Calls newStackWalk for each of the contained GCMapIterators.

Assumption: the thread is currently suspended, ie. its saved gprs[] contain the thread's full register state.

Side effect: registerLocations[] initialized with pointers to the thread's saved gprs[] (in thread.contextRegisters.gprs)


selectIterator

GCMapIterator selectIterator(Clazz.jq_CompiledCode compiledMethod)
Select iterator for scanning for object references in a stackframe. Called by collector threads while scanning a threads stack.


getJniIterator

GCMapIterator getJniIterator()
get the GCMapIterator used for scanning JNI native stack frames.