joeq.Compiler.Quad
Class MethodInline

java.lang.Object
  extended by joeq.Compiler.Quad.MethodInline
All Implemented Interfaces:
ControlFlowGraphVisitor

public class MethodInline
extends Object
implements ControlFlowGraphVisitor

Version:
$Id: MethodInline.java 2465 2006-06-07 23:03:17Z joewhaley $
Author:
John Whaley

Nested Class Summary
static class MethodInline.DontInline
           
static class MethodInline.InlineSelectedCalls
          Inline methods whose munged names are read from file methodNameFile (methods.txt).
static class MethodInline.InlineSmallSingleTargetCalls
           
static class MethodInline.InliningDecision
           
static class MethodInline.NoCheckInliningDecision
           
static interface MethodInline.Oracle
           
static class MethodInline.TypeCheckInliningDecision
           
 
Nested classes/interfaces inherited from interface joeq.Compiler.Quad.ControlFlowGraphVisitor
ControlFlowGraphVisitor.CodeCacheVisitor
 
Field Summary
static PrintStream out
           
static boolean TRACE
           
static boolean TRACE_DECISIONS
           
static boolean TRACE_ORACLE
           
 
Constructor Summary
MethodInline()
           
MethodInline(CallGraph cg)
           
MethodInline(MethodInline.Oracle o)
           
 
Method Summary
static void inlineNonVirtualCallSite(ControlFlowGraph caller, BasicBlock bb, Quad q, ControlFlowGraph callee)
           
static void inlineVirtualCallSiteWithTypeCheck(ControlFlowGraph caller, BasicBlock bb, Quad q, ControlFlowGraph callee, jq_Class type)
           
 void visitCFG(ControlFlowGraph cfg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRACE

public static final boolean TRACE
See Also:
Constant Field Values

TRACE_ORACLE

public static final boolean TRACE_ORACLE
See Also:
Constant Field Values

TRACE_DECISIONS

public static final boolean TRACE_DECISIONS
See Also:
Constant Field Values

out

public static final PrintStream out
Constructor Detail

MethodInline

public MethodInline(MethodInline.Oracle o)

MethodInline

public MethodInline(CallGraph cg)

MethodInline

public MethodInline()
Method Detail

visitCFG

public void visitCFG(ControlFlowGraph cfg)
Specified by:
visitCFG in interface ControlFlowGraphVisitor

inlineNonVirtualCallSite

public static void inlineNonVirtualCallSite(ControlFlowGraph caller,
                                            BasicBlock bb,
                                            Quad q,
                                            ControlFlowGraph callee)

inlineVirtualCallSiteWithTypeCheck

public static void inlineVirtualCallSiteWithTypeCheck(ControlFlowGraph caller,
                                                      BasicBlock bb,
                                                      Quad q,
                                                      ControlFlowGraph callee,
                                                      jq_Class type)


Copyright © 2001-2008 John Whaley. All Rights Reserved.