|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
Options for the MAInfo
processing.
Field Summary | |
boolean |
DO_INLINING_FOR_SA
Enables the application of some method inlining to increase the effectiveness of the stack allocation. |
boolean |
DO_INLINING_FOR_TA
Enables the application of some method inlining to increase the effectiveness of the thread local heap allocation. |
boolean |
DO_PREALLOCATION
Enables the use of preallocation: if an object will be accessed only by a thread (ie it is created just to pass some parameters to a thread), it can be preallocated into the heap of that thread. |
boolean |
DO_STACK_ALLOCATION
Controls the generation of stack allocation hints. |
boolean |
DO_THREAD_ALLOCATION
Controls the generation of thread local heap allocation hints. |
boolean |
GEN_SYNC_FLAG
Controls the detection of the objects for whom there are no concurrent synchronizations. |
int |
MAX_INLINABLE_METHOD_SIZE
The maximal size of a method that can be inlined. |
int |
MAX_INLINING_LEVEL
The current implementation is able to inline call strings of length bigger than one. |
int |
MAX_METHOD_SIZE
The maximal size to which we can inflate the size of a method through inlining. |
static int |
STACK_ALLOCATE_ALWAYS
Stack allocate everything that's captured. |
static int |
STACK_ALLOCATE_NOT_IN_LOOPS
Don't stack allocate in loops. |
int |
STACK_ALLOCATION_POLICY
Forbids stack allocation in a loop. |
boolean |
USE_INTER_THREAD
Use the interthread analysis inside MAInfo . |
boolean |
USE_OLD_INLINING
Use the old, 1-level inlining. |
Constructor Summary | |
MAInfo.MAInfoOptions()
|
Method Summary | |
Object |
clone()
|
boolean |
do_inlining()
Checks whether any inlining is requested. |
void |
print(String prefix)
Pretty printer. |
boolean |
stack_allocate_always()
Returns true if the stack allocation policy is STACK_ALLOCATE_ALWAYS . |
boolean |
stack_allocate_not_in_loops()
Returns true if the stack allocation policy is STACK_ALLOCATE_NOT_IN_LOOPS . |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public boolean DO_STACK_ALLOCATION
false
.
public int STACK_ALLOCATION_POLICY
STACK_ALLOCATE_*
constants. Default is
STACK_ALLOCATE_NOT_IN_LOOPS
.
public static int STACK_ALLOCATE_ALWAYS
public static int STACK_ALLOCATE_NOT_IN_LOOPS
public boolean DO_THREAD_ALLOCATION
false
.
public boolean DO_INLINING_FOR_SA
false
.
public boolean DO_INLINING_FOR_TA
false
.
public boolean DO_PREALLOCATION
false
.
public boolean GEN_SYNC_FLAG
false
.
public boolean USE_INTER_THREAD
MAInfo
.
If this analysis is too buggy or time/memory expensive,
you can disable it through this flag. NOTE: this
will also disable some of the optimizations (eg the
preallocation).
Default false
.
public boolean USE_OLD_INLINING
false
(ie the new, multilevel strategy is used). Might be useful
for people not willing to go into the bugs of the new strategy.
public int MAX_INLINING_LEVEL
public int MAX_METHOD_SIZE
1000
quads.
public int MAX_INLINABLE_METHOD_SIZE
100
quads.
Constructor Detail |
public MAInfo.MAInfoOptions()
Method Detail |
public final boolean stack_allocate_always()
STACK_ALLOCATE_ALWAYS
.
public final boolean stack_allocate_not_in_loops()
STACK_ALLOCATE_NOT_IN_LOOPS
.
public boolean do_inlining()
public void print(String prefix)
public Object clone()
clone
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |