private boolean isHandlerStart(final Instruction instruction) { for (final ExceptionTableEntry entry : _tableEntries) { if (entry.getHandlerOffset() == instruction.getOffset()) { return true; } } return false; }
private boolean isHandlerStart(final Instruction instruction) { for (final ExceptionTableEntry entry : _tableEntries) { if (entry.getHandlerOffset() == instruction.getOffset()) { return true; } } return false; }
private boolean isHandlerStart(final Instruction instruction) { for (final ExceptionTableEntry entry : _tableEntries) { if (entry.getHandlerOffset() == instruction.getOffset()) { return true; } } return false; }
), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), entry.getCatchType()
), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), entry.getCatchType()
), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), new InstructionBlock( _instructions.atOffset(entry.getHandlerOffset()), _instructions.atOffset(entry.getHandlerOffset()) ), entry.getCatchType()
final Instruction handlerStart = instructions.atOffset(entry.getHandlerOffset()); final ControlFlowNode handlerStartNode = builder.findNode(handlerStart);
final Instruction handlerStart = instructions.atOffset(entry.getHandlerOffset()); final ControlFlowNode handlerStartNode = builder.findNode(handlerStart);
final Instruction handlerStart = instructions.atOffset(entry.getHandlerOffset()); final ControlFlowNode handlerStartNode = builder.findNode(handlerStart);
private void calculateIncomingJumps() { // // Step 1: Determine which instructions are jump targets. // for (final Instruction instruction : _instructions) { final OpCode opCode = instruction.getOpCode(); if (opCode.getOperandType() == OperandType.BranchTarget || opCode.getOperandType() == OperandType.BranchTargetWide) { _hasIncomingJumps[getInstructionIndex(instruction.<Instruction>getOperand(0))] = true; } else if (opCode.getOperandType() == OperandType.Switch) { final SwitchInfo switchInfo = instruction.getOperand(0); _hasIncomingJumps[getInstructionIndex(switchInfo.getDefaultTarget())] = true; for (final Instruction target : switchInfo.getTargets()) { _hasIncomingJumps[getInstructionIndex(target)] = true; } } } for (final ExceptionTableEntry entry : _tableEntries) { _hasIncomingJumps[getInstructionIndex(_instructions.atOffset(entry.getHandlerOffset()))] = true; } }
private void calculateIncomingJumps() { // // Step 1: Determine which instructions are jump targets. // for (final Instruction instruction : _instructions) { final OpCode opCode = instruction.getOpCode(); if (opCode.getOperandType() == OperandType.BranchTarget || opCode.getOperandType() == OperandType.BranchTargetWide) { _hasIncomingJumps[getInstructionIndex(instruction.<Instruction>getOperand(0))] = true; } else if (opCode.getOperandType() == OperandType.Switch) { final SwitchInfo switchInfo = instruction.getOperand(0); _hasIncomingJumps[getInstructionIndex(switchInfo.getDefaultTarget())] = true; for (final Instruction target : switchInfo.getTargets()) { _hasIncomingJumps[getInstructionIndex(target)] = true; } } } for (final ExceptionTableEntry entry : _tableEntries) { _hasIncomingJumps[getInstructionIndex(_instructions.atOffset(entry.getHandlerOffset()))] = true; } }
private void calculateIncomingJumps() { // // Step 1: Determine which instructions are jump targets. // for (final Instruction instruction : _instructions) { final OpCode opCode = instruction.getOpCode(); if (opCode.getOperandType() == OperandType.BranchTarget || opCode.getOperandType() == OperandType.BranchTargetWide) { _hasIncomingJumps[getInstructionIndex(instruction.<Instruction>getOperand(0))] = true; } else if (opCode.getOperandType() == OperandType.Switch) { final SwitchInfo switchInfo = instruction.getOperand(0); _hasIncomingJumps[getInstructionIndex(switchInfo.getDefaultTarget())] = true; for (final Instruction target : switchInfo.getTargets()) { _hasIncomingJumps[getInstructionIndex(target)] = true; } } } for (final ExceptionTableEntry entry : _tableEntries) { _hasIncomingJumps[getInstructionIndex(_instructions.atOffset(entry.getHandlerOffset()))] = true; } }