orc.runtime.regions
Class IsolatedRegion

java.lang.Object
  extended by orc.runtime.regions.Region
      extended by orc.runtime.regions.IsolatedRegion

public final class IsolatedRegion
extends Region

An isolated region. This does two things: first, it prevents any parent region from linking to tokens in this region, so they may be garbage collected. Second, it records liveness and quiescence in the root region as well as the parent, so the root can't terminate until we do. See Isolate.

Author:
quark

Constructor Summary
IsolatedRegion(Region root, Region parent)
           
 
Method Summary
protected  void activate()
          Called when this region becomes not quiescent.
protected  void deactivate()
          Called when this region becomes quiescent.
 Region getParent()
           
protected  void onClose()
          Override this in subclasses to handle the closing of the region.
 
Methods inherited from class orc.runtime.regions.Region
add, add, addActive, close, maybeDeactivate, putContainedTokens, remove, remove, removeActive
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IsolatedRegion

public IsolatedRegion(Region root,
                      Region parent)
Method Detail

onClose

protected void onClose()
Description copied from class: Region
Override this in subclasses to handle the closing of the region.

Overrides:
onClose in class Region

getParent

public Region getParent()

deactivate

protected void deactivate()
Description copied from class: Region
Called when this region becomes quiescent.

Overrides:
deactivate in class Region

activate

protected void activate()
Description copied from class: Region
Called when this region becomes not quiescent.

Overrides:
activate in class Region