static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
static int[] getLineNumbers(InterpreterData data) { UintMap presentLines = new UintMap(); byte[] iCode = data.itsICode; int iCodeLength = iCode.length; for (int pc = 0; pc != iCodeLength;) { int bytecode = iCode[pc]; int span = bytecodeSpan(bytecode); if (bytecode == Icode_LINE) { if (span != 3) Kit.codeBug(); int line = getIndex(iCode, pc + 1); presentLines.put(line, 0); } pc += span; } return presentLines.getKeys(); }
/** * Calculate partial dependencies for super blocks. * * This is used as a workaround for dead code that is generated. Only * one dependency per super block is given. */ private SuperBlock[] getSuperBlockDependencies() { SuperBlock[] deps = new SuperBlock[superBlocks.length]; for (int i = 0; i < itsExceptionTableTop; i++) { ExceptionTableEntry ete = itsExceptionTable[i]; short startPC = (short) getLabelPC(ete.itsStartLabel); short handlerPC = (short) getLabelPC(ete.itsHandlerLabel); SuperBlock handlerSB = getSuperBlockFromOffset(handlerPC); SuperBlock dep = getSuperBlockFromOffset(startPC); deps[handlerSB.getIndex()] = dep; } int[] targetPCs = itsJumpFroms.getKeys(); for (int i = 0; i < targetPCs.length; i++) { int targetPC = targetPCs[i]; int branchPC = itsJumpFroms.getInt(targetPC, -1); SuperBlock branchSB = getSuperBlockFromOffset(branchPC); SuperBlock targetSB = getSuperBlockFromOffset(targetPC); deps[targetSB.getIndex()] = branchSB; } return deps; }
/** * Calculate partial dependencies for super blocks. * * This is used as a workaround for dead code that is generated. Only * one dependency per super block is given. */ private SuperBlock[] getSuperBlockDependencies() { SuperBlock[] deps = new SuperBlock[superBlocks.length]; for (int i = 0; i < itsExceptionTableTop; i++) { ExceptionTableEntry ete = itsExceptionTable[i]; short startPC = (short) getLabelPC(ete.itsStartLabel); short handlerPC = (short) getLabelPC(ete.itsHandlerLabel); SuperBlock handlerSB = getSuperBlockFromOffset(handlerPC); SuperBlock dep = getSuperBlockFromOffset(startPC); deps[handlerSB.getIndex()] = dep; } int[] targetPCs = itsJumpFroms.getKeys(); for (int i = 0; i < targetPCs.length; i++) { int targetPC = targetPCs[i]; int branchPC = itsJumpFroms.getInt(targetPC, -1); SuperBlock branchSB = getSuperBlockFromOffset(branchPC); SuperBlock targetSB = getSuperBlockFromOffset(targetPC); deps[targetSB.getIndex()] = branchSB; } return deps; }
/** * Calculate partial dependencies for super blocks. * * This is used as a workaround for dead code that is generated. Only * one dependency per super block is given. */ private SuperBlock[] getSuperBlockDependencies() { SuperBlock[] deps = new SuperBlock[superBlocks.length]; for (int i = 0; i < itsExceptionTableTop; i++) { ExceptionTableEntry ete = itsExceptionTable[i]; short startPC = (short) getLabelPC(ete.itsStartLabel); short handlerPC = (short) getLabelPC(ete.itsHandlerLabel); SuperBlock handlerSB = getSuperBlockFromOffset(handlerPC); SuperBlock dep = getSuperBlockFromOffset(startPC); deps[handlerSB.getIndex()] = dep; } int[] targetPCs = itsJumpFroms.getKeys(); for (int i = 0; i < targetPCs.length; i++) { int targetPC = targetPCs[i]; int branchPC = itsJumpFroms.getInt(targetPC, -1); SuperBlock branchSB = getSuperBlockFromOffset(branchPC); SuperBlock targetSB = getSuperBlockFromOffset(targetPC); deps[targetSB.getIndex()] = branchSB; } return deps; }
/** * Calculate partial dependencies for super blocks. * * This is used as a workaround for dead code that is generated. Only * one dependency per super block is given. */ private SuperBlock[] getSuperBlockDependencies() { SuperBlock[] deps = new SuperBlock[superBlocks.length]; for (int i = 0; i < itsExceptionTableTop; i++) { ExceptionTableEntry ete = itsExceptionTable[i]; short startPC = (short) getLabelPC(ete.itsStartLabel); short handlerPC = (short) getLabelPC(ete.itsHandlerLabel); SuperBlock handlerSB = getSuperBlockFromOffset(handlerPC); SuperBlock dep = getSuperBlockFromOffset(startPC); deps[handlerSB.getIndex()] = dep; } int[] targetPCs = itsJumpFroms.getKeys(); for (int i = 0; i < targetPCs.length; i++) { int targetPC = targetPCs[i]; int branchPC = itsJumpFroms.getInt(targetPC, -1); SuperBlock branchSB = getSuperBlockFromOffset(branchPC); SuperBlock targetSB = getSuperBlockFromOffset(targetPC); deps[targetSB.getIndex()] = branchSB; } return deps; }