frysk.rt
Class Breakpoint

java.lang.Object
  extended by frysk.rt.Breakpoint
All Implemented Interfaces:
Observer, TaskObserver, TaskObserver.Code
Direct Known Subclasses:
Breakpoint.PersistentBreakpoint

public class Breakpoint
extends Object
implements TaskObserver.Code


Nested Class Summary
static class Breakpoint.PersistentBreakpoint
           
 
Nested classes/interfaces inherited from interface frysk.proc.TaskObserver
TaskObserver.Cloned, TaskObserver.Code, TaskObserver.Execed, TaskObserver.Forked, TaskObserver.Instruction, TaskObserver.Signaled, TaskObserver.Syscalls, TaskObserver.Terminated, TaskObserver.Terminating, TaskObserver.Watch
 
Constructor Summary
Breakpoint(SteppingEngine steppingEngine)
           
Breakpoint(SteppingEngine steppingEngine, long address)
           
 
Method Summary
 void addedTo(Object observable)
          Acknowledge the request to add this Observer from Object's set of observers was successful.
 void addFailed(Object observable, Throwable w)
          Notify that the attempt to add to the specified observer failed.
 void addPersistentBreakpoint(Task task, Breakpoint.PersistentBreakpoint bp)
           
 void deletedFrom(Object observable)
          Acknowledge the request to delete this Observer from Object's set of observers was successful (or that the Observer was spontaneously deleted, e.g., due to a task exit).
 void deletePersistentBreakpoint(Task task, Breakpoint.PersistentBreakpoint bp)
           
 long getAddress()
           
 int getTriggered()
           
 boolean isAdded()
           
 boolean isRemoved()
           
 Action updateHit(Task task, long address)
          The task has hit the breakpoint.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Breakpoint

public Breakpoint(SteppingEngine steppingEngine)

Breakpoint

public Breakpoint(SteppingEngine steppingEngine,
                  long address)
Method Detail

updateHit

public Action updateHit(Task task,
                        long address)
Description copied from interface: TaskObserver.Code
The task has hit the breakpoint. Return Action.BLOCK to block the task's further execution. Note that all Tasks of a Proc share their breakpoints, so this method needs to check the actual Task that got hit.

Specified by:
updateHit in interface TaskObserver.Code

getTriggered

public int getTriggered()

addFailed

public void addFailed(Object observable,
                      Throwable w)
Description copied from interface: Observer
Notify that the attempt to add to the specified observer failed.

Specified by:
addFailed in interface Observer

addedTo

public void addedTo(Object observable)
Description copied from interface: Observer
Acknowledge the request to add this Observer from Object's set of observers was successful.

Specified by:
addedTo in interface Observer

isAdded

public boolean isAdded()

deletedFrom

public void deletedFrom(Object observable)
Description copied from interface: Observer
Acknowledge the request to delete this Observer from Object's set of observers was successful (or that the Observer was spontaneously deleted, e.g., due to a task exit).

Specified by:
deletedFrom in interface Observer

isRemoved

public boolean isRemoved()

getAddress

public long getAddress()

addPersistentBreakpoint

public void addPersistentBreakpoint(Task task,
                                    Breakpoint.PersistentBreakpoint bp)

deletePersistentBreakpoint

public void deletePersistentBreakpoint(Task task,
                                       Breakpoint.PersistentBreakpoint bp)