org.jikesrvm.compilers.opt.runtimesupport
Class OptEncodedCallSiteTree

java.lang.Object
  extended by org.jikesrvm.compilers.opt.runtimesupport.OptEncodedCallSiteTree

public abstract class OptEncodedCallSiteTree
extends Object

Suppose the following inlining actions have been taken

 (<callerMID, bcIndex, calleeMID>):

 <A, 12, B>, <A,14,C>, <A,16,D>, < B,3,E>, < B,5,F >, <C,10,G>, <G,20,H>,
 <H,30,I>
 
Then the OptEncodedCallSiteTree would be:
 -1, A, -2, 12, B, 14, C, 16, D, -6, 3, E, 5, F, -9, 10, G, -2, 20 H -2 30 I
 


Constructor Summary
OptEncodedCallSiteTree()
           
 
Method Summary
static boolean edgePresent(int desiredCaller, int desiredBCIndex, int desiredCallee, int[] encoding)
           
static int getByteCodeOffset(int entryOffset, int[] encoding)
           
static int[] getEncoding(CallSiteTree tree)
           
(package private) static int getEncoding(CallSiteTreeNode current, int offset, int parent, int[] encoding)
           
static int getMethodID(int entryOffset, int[] encoding)
           
static int getParent(int index, int[] encodedTree)
           
(package private) static void setMethodID(int entryOffset, int[] encoding, int methodID)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OptEncodedCallSiteTree

public OptEncodedCallSiteTree()
Method Detail

getMethodID

public static int getMethodID(int entryOffset,
                              int[] encoding)

setMethodID

static void setMethodID(int entryOffset,
                        int[] encoding,
                        int methodID)

getByteCodeOffset

public static int getByteCodeOffset(int entryOffset,
                                    int[] encoding)

getEncoding

public static int[] getEncoding(CallSiteTree tree)

getEncoding

static int getEncoding(CallSiteTreeNode current,
                       int offset,
                       int parent,
                       int[] encoding)

getParent

public static int getParent(int index,
                            int[] encodedTree)

edgePresent

public static boolean edgePresent(int desiredCaller,
                                  int desiredBCIndex,
                                  int desiredCallee,
                                  int[] encoding)