lib.unwind
Class AddressSpace

java.lang.Object
  extended by lib.unwind.AddressSpace

public abstract class AddressSpace
extends Object


Field Summary
 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()
           
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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

unwAddressSpace

public final long unwAddressSpace

unwinder

public final Unwind unwinder
Constructor Detail

AddressSpace

public AddressSpace(Unwind unwinder,
                    ByteOrder byteOrder)
Method Detail

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.