| java.lang.Object sun.tools.asm.Assembler
Assembler | final public class Assembler implements Constants(Code) | | This class is used to assemble the bytecode instructions for a method.
WARNING: The contents of this source file are not part of any
supported API. Code that depends on them does so at its own risk:
they are subject to change or removal without notice.
author: Arthur van Hoff version: 1.41, 08/19/97 |
Method Summary | |
public void | GenJCov(Environment env) | public void | GenVecJCov(Environment env, ClassDefinition c, long Time) | public void | add(Instruction inst) | public void | add(long where, int opc) | public void | add(long where, int opc, Object obj) | public void | add(long where, int opc, Object obj, boolean flagCondInverted) | public void | add(boolean flagNoCovered, long where, int opc, Object obj) | public void | add(long where, int opc, boolean flagNoCovered) | public void | addNativeToJcovTab(Environment env, ClassDefinition c) | void | balance(Label lbl, int depth) | public void | collect(Environment env, MemberDefinition field, ConstantPool tab) | boolean | eliminate() | public boolean | empty() | void | flowFields(Environment env, Label lbl, MemberDefinition locals) Figure out when registers contain a legal value. | public void | listing(PrintStream out) | void | optimize(Environment env, Label lbl) | public void | optimize(Environment env) | public void | write(Environment env, DataOutputStream out, MemberDefinition field, ConstantPool tab) | public void | writeCoverageTable(Environment env, ClassDefinition c, DataOutputStream out, ConstantPool tab, long whereField) | void | writeExceptions(Environment env, DataOutputStream out, ConstantPool tab, Instruction first, Instruction last) | public void | writeLineNumberTable(Environment env, DataOutputStream out, ConstantPool tab) | public void | writeLocalVariableTable(Environment env, MemberDefinition field, DataOutputStream out, ConstantPool tab) Write the local variable table. |
JcovClassCountArray | static int[] JcovClassCountArray(Code) | | |
NEEDED | final static int NEEDED(Code) | | |
NOTREACHED | final static int NOTREACHED(Code) | | |
REACHED | final static int REACHED(Code) | | |
arrayModifiers | static int[] arrayModifiers(Code) | | |
arrayModifiersOpc | static int[] arrayModifiersOpc(Code) | | |
add | public void add(long where, int opc)(Code) | | |
add | public void add(long where, int opc, Object obj, boolean flagCondInverted)(Code) | | |
add | public void add(boolean flagNoCovered, long where, int opc, Object obj)(Code) | | |
add | public void add(long where, int opc, boolean flagNoCovered)(Code) | | |
balance | void balance(Label lbl, int depth)(Code) | | Determine stack size, count local variables
|
eliminate | boolean eliminate()(Code) | | Eliminate instructions that are not reached
|
empty | public boolean empty()(Code) | | Return true if empty
|
flowFields | void flowFields(Environment env, Label lbl, MemberDefinition locals)(Code) | | Figure out when registers contain a legal value. This is done
using a simple data flow algorithm. This information is later used
to generate the local variable table.
|
optimize | void optimize(Environment env, Label lbl)(Code) | | Optimize instructions and mark those that can be reached
|
writeLocalVariableTable | public void writeLocalVariableTable(Environment env, MemberDefinition field, DataOutputStream out, ConstantPool tab) throws IOException(Code) | | Write the local variable table. The necessary constants have already been
added to the constant table by the collect() method. The flowFields method
is used to determine which variables are alive at each pc.
|
|
|