harpoon.Analysis.PointerAnalysis
Class InterThreadPA

java.lang.Object
  extended by harpoon.Analysis.PointerAnalysis.InterThreadPA
All Implemented Interfaces:
Serializable

public abstract class InterThreadPA
extends Object
implements Serializable

InterThreadPA groups together the functions related to the inter-thread analysis. Normally, this should be a part of the PointerAnalysis class, but that class is already too big and some code segmentation is always good!
In the implementation of this class, some of the methods are static and have PointerAnalysis pa as their first parameter. pa stands for the this hidden parameter that would exist if all those methods were in the PointerAnalysis class.

Version:
$Id: InterThreadPA.java,v 1.8 2005/08/17 23:34:00 salcianu Exp $
Author:
Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu>
See Also:
Serialized Form

Field Summary
static boolean DEBUG
          Activates a lot of debug messages.
static boolean DEBUG2
          Activates even more debug messages!
static boolean TIMING
          Displays some time statistics.
static boolean VERY_NEW_MAPPINGS
           
 
Constructor Summary
InterThreadPA()
           
 
Method Summary
static ParIntGraph resolve_threads(PointerAnalysis pa, ParIntGraph noit_pig)
          Do the inter-thread analysis for a method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
Activates a lot of debug messages.

See Also:
Constant Field Values

DEBUG2

public static final boolean DEBUG2
Activates even more debug messages!

See Also:
Constant Field Values

TIMING

public static boolean TIMING
Displays some time statistics.


VERY_NEW_MAPPINGS

public static boolean VERY_NEW_MAPPINGS
Constructor Detail

InterThreadPA

public InterThreadPA()
Method Detail

resolve_threads

public static ParIntGraph resolve_threads(PointerAnalysis pa,
                                          ParIntGraph noit_pig)
Do the inter-thread analysis for a method.

Parameters:
pa - The PointerAnalysis object that called this method and that generated noit_pig. This parameter stands for the hidden this parameter that would exist if the methods of this class were part of the PointerAnalysis class.
noit_pig - The Parallel Interaction Graph at the end of the method, as produced by the intra and inter-procedural analysis.
Returns:
the Parallel Interaction Graph modeling the interaction between the method (that is just a part of the thread that launched it) and the threads it transitively starts.