orc.runtime.regions
Class Region

java.lang.Object
  extended by orc.runtime.regions.Region
Direct Known Subclasses:
Execution, GroupRegion, IsolatedRegion, ReadyRegion, SemiRegion, TransRegion

public abstract class Region
extends java.lang.Object

Regions are used to track when some (sub-)computation terminates.

Currently the region methods must be synchronized, because tokens can be killed by independent threads (such as site calls in progress), triggering an update on the region. Maybe we should have a separate queue deal with dead tokens so this isn't necessary.


Field Summary
protected  boolean closed
           
 
Constructor Summary
Region()
           
 
Method Summary
 void add(Region r)
           
 void add(Token t)
           
 void close()
           
protected abstract  void onClose()
           
 void putContainedTokens(java.util.Set<Token> acc)
           
 void remove(Region r)
           
 void remove(Token closer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

closed

protected boolean closed
Constructor Detail

Region

public Region()
Method Detail

add

public final void add(Token t)

add

public final void add(Region r)

remove

public final void remove(Token closer)

remove

public final void remove(Region r)

close

public final void close()

onClose

protected abstract void onClose()

putContainedTokens

public final void putContainedTokens(java.util.Set<Token> acc)