lib.unwind
Class AddressSpace

java.lang.Object
  extended by lib.unwind.AddressSpace
Direct Known Subclasses:
LibunwindAddressSpace, TestUnwind.TestAddressSpace

public abstract class AddressSpace
extends Object


Field Summary
(package private)  int magic
           
(package private) static int MAGIC
          Marker so that it is possible to confirm that this is an AddressSpace.
 long unwAddressSpace
           
 Unwind unwinder
           
 
Constructor Summary
AddressSpace(Unwind unwinder, ByteOrder byteOrder)
           
 
Method Summary
abstract  int accessMem(long addr, byte[] valp, boolean write)
           
abstract  int accessReg(Number regnum, byte[] val, boolean write)
          Access LIBUNWIND Register REGNUM.
 Cursor createCursor()
           
protected  void finalize()
           
abstract  int findProcInfo(long ip, boolean needUnwindInfo, ProcInfo procInfo)
          Locate the information needed to unwind a particular procedure.
abstract  long getReg(Number regnum)
          See UnwindH.hxx:access_reg(write=false); only used for small integer registers.
abstract  void putUnwindInfo(ProcInfo procInfo)
          Used to free a ProcInfo object created with needUnwindInfo as true.
 void setCachingPolicy(CachingPolicy cachingPolicy)
           
abstract  void setReg(Number regnum, long regval)
          See UnwindH.hxx:access_reg(write=true); only used for small integer registers.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAGIC

static final int MAGIC
Marker so that it is possible to confirm that this is an AddressSpace.

See Also:
Constant Field Values

magic

final int magic
See Also:
Constant Field Values

unwAddressSpace

public final long unwAddressSpace

unwinder

public final Unwind unwinder
Constructor Detail

AddressSpace

public AddressSpace(Unwind unwinder,
                    ByteOrder byteOrder)
Method Detail

finalize

protected void finalize()
Overrides:
finalize in class Object

createCursor

public Cursor createCursor()

setCachingPolicy

public void setCachingPolicy(CachingPolicy cachingPolicy)

findProcInfo

public abstract int findProcInfo(long ip,
                                 boolean needUnwindInfo,
                                 ProcInfo procInfo)
Locate the information needed to unwind a particular procedure.

Parameters:
ip - the instruction-address inside the procedure whose information is needed.
needUnwindInfo - whether the format, unwind_info_size and unwind_info fields of the returned ProcInfo should be set.
Returns:
A ProcInfo object holding the processes info.

putUnwindInfo

public abstract void putUnwindInfo(ProcInfo procInfo)
Used to free a ProcInfo object created with needUnwindInfo as true.

Parameters:
procInfo - the procInfo object to be freed.

accessMem

public abstract int accessMem(long addr,
                              byte[] valp,
                              boolean write)

getReg

public abstract long getReg(Number regnum)
See UnwindH.hxx:access_reg(write=false); only used for small integer registers.


setReg

public abstract void setReg(Number regnum,
                            long regval)
See UnwindH.hxx:access_reg(write=true); only used for small integer registers.


accessReg

public abstract int accessReg(Number regnum,
                              byte[] val,
                              boolean write)
Access LIBUNWIND Register REGNUM.