| Modifier and Type | Class and Description |
|---|---|
| private class | MethodGenerator.
Used to keep track of an outlineable chunk of instructions in the current method. |
| protected class | MethodGenerator.
Keeps track of all local variables used in the method. |
| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private Instruction | |
| private Instruction | |
| private MethodGenerator. | |
| private final Instruction | |
| private final Instruction | |
| private Map | _preCompiled
A mapping between patterns and instruction lists used by test sequences to avoid compiling the same pattern multiple times. |
| private final Instruction | |
| private final Instruction | |
| private SlotAllocator | |
| private final Instruction | |
| private final Instruction | |
| private final Instruction | |
| private static final int | |
| private static final String | |
| private static final int | |
| protected static final int | |
| private static final int | |
| private int | m_openChunks
Track the number of outlineable chunks started but not yet ended. |
| private int | m_totalChunks
Track the number of outlineable chunks seen. |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final String | |
| private static final int |
| Access | Constructor and Description |
|---|---|
| public | MethodGenerator(int access_flags, Type return_type, Type[] arg_types, String[] arg_names, String method_name, String class_name, InstructionList il, ConstantPoolGen cpg)
|
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public LocalVariableGen | addLocalVariable(String name, Type type, InstructionHandle start, InstructionHandle end)
Overrides com. Allocates a local variable. |
| public LocalVariableGen | |
| public final Instruction | |
| public final Instruction | |
| public final Instruction | |
| private List | Returns: ajava.util.List containing the
MethodGenerator.s that may be outlined from this methodThe classGen, int ClassGen with which the generated methods
will be associatedthe size of the bytecode in the original method totalMethodSize)Find the outlineable chunks in this method that would be the best choices to outline, based on size and position in the method. |
| pack-priv Method[] | Returns: an array of all theMethods generatedthe classGen)ClassGenerator of which these methods are
membersGet all |
| public InstructionList | |
| public int | |
| public LocalVariableGen | |
| private MethodGenerator. | |
| protected Method | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| private static Instruction | Returns: the generatedLoadInstructionthe JVM stack frame index of the variable that is to be
loaded index, Type the type)Type of the variableHelper method to generate an instance of a subclass of
|
| public void | |
| public void | markChunkStart()
Mark the end of the method's
|
| private List | Returns: ajava.util.List of
MethodGenerator.Chunks maximally mergedarray of sibling chunksMethodGenerator.s that are
under consideration for outlining. Chunks must be in
the order encountered in the InstructionListMerge adjacent sibling chunks to produce larger candidate chunks for outlining |
| public final Instruction | |
| public final Instruction | |
| pack-priv boolean | Returns: true if and only if the specified variable is in
use at the particular byte code offset.the lvg, int LocalVariableGen for the variablethe position in the byte code offset)Determines whether a particular variable is in use at a particular offset in the byte code for this method. |
| private Method | Returns: The newMethod containing the outlined code.The first, InstructionHandle InstructionHandle of the first instruction in
the chunk to outlineThe last, String InstructionHandle of the last instruction in
the chunk to outlineThe name of the new method outlinedMethodName, ClassGenerator The classGen)ClassGenerator of which the original
and new methods will be membersGiven an outlineable chunk of code in the current |
| public Method[] | Returns: an array of the outlinedMethods and the original
method itselfThe classGen, int ClassGen with which the generated methods
will be associatedThe number of bytes of bytecode represented by
the originalMethodSize)InstructionList of this methodBreaks up the IL for this |
| public void | removeLocalVariable(LocalVariableGen lvg)
Overrides com. Remove a local variable, its slot will not be reused, if you do not use addLocalVariable with an explicit index argument. |
| public final Instruction | |
| public void | setMaxLocals()
Overrides com. Compute maximum number of local variables. |
| public final Instruction | |
| public final Instruction | |
| public final Instruction | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| public Instruction | |
| private static Instruction | Returns: the generatedStoredInstructionthe JVM stack frame index of the variable that is to be
stored index, Type the type)Type of the variableHelper method to generate an instance of a subclass of
|
| public final Instruction | |
| pack-priv boolean | Returns: true if the InstructionList was
modified; false otherwiseRewrites branches to avoid the JVM limits of relative branch offsets. |