* @param method
* @see org.jnode.vm.bytecode.BytecodeVisitor#startMethod(org.jnode.vm.classmgr.VmMethod)
*/
public void startMethod(VmMethod method) {
this.method = method;
final VmByteCode bc = method.getBytecode();
final int length = bc.getLength();
opcodeFlags = new byte[length];
// The first instruction is always the start of a BB.
startBB(0, true, tstack);
// The exception handler also start a basic block
final TypeStack ehTStack = new TypeStack();
ehTStack.push(JvmType.REFERENCE);
for (int i = 0; i < bc.getNoExceptionHandlers(); i++) {
VmInterpretedExceptionHandler eh = bc.getExceptionHandler(i);
startTryBlock(eh.getStartPC());
startTryBlockEnd(eh.getEndPC());
startException(eh.getHandlerPC(), ehTStack);
}
}