codeItem.debugInfo = new DebugInfoItem(); codeItem.debugInfo.parameterNames=new StringIdItem[owner.getParameterTypes().length];
@Override public int place(int offset) { offset += lengthOfUleb128(firstLine); if (parameterNames == null) { offset += lengthOfUleb128(0); } else { offset += lengthOfUleb128(parameterNames.length); for (StringIdItem s : parameterNames) { offset += lengthOfUleb128(1 + (s == null ? -1 : s.index)); offset += lengthOfUleb128(fileName.index + 1); offset += lengthOfUleb128(opNode.sig.index + 1); offset += lengthOfUleb128(pcData); offset += lengthOfUleb128(opNode.reg); offset += lengthOfUleb128(opNode.name.index + 1); offset += lengthOfUleb128(opNode.type.index + 1); break; case DBG_RESTART_LOCAL: offset += lengthOfUleb128(pcData); offset += lengthOfUleb128(opNode.reg); break; case DBG_SET_EPILOGUE_BEGIN: if (addrDelta > 15) { // pc not ok, add addvance_PC offset += 1;
throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); addAdvancePC(out, addrDelta); addrDelta = 0; addAdvanceLine(out, lineDelta); lineDelta = 0;
throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); throw new RuntimeException(); } else if (pcDelta > 0) { addAdvancePC(out, pcDelta); addAdvancePC(out, addrDelta); addrDelta = 0; addAdvanceLine(out, lineDelta); lineDelta = 0;
@Override public int place(int offset) { offset += lengthOfUleb128(firstLine); if (parameterNames == null) { offset += lengthOfUleb128(0); } else { offset += lengthOfUleb128(parameterNames.length); for (StringIdItem s : parameterNames) { offset += lengthOfUleb128(1 + (s == null ? -1 : s.index)); offset += lengthOfUleb128(fileName.index + 1); offset += lengthOfUleb128(opNode.sig.index + 1); offset += lengthOfUleb128(pcData); offset += lengthOfUleb128(opNode.reg); offset += lengthOfUleb128(opNode.name.index + 1); offset += lengthOfUleb128(opNode.type.index + 1); break; case DBG_RESTART_LOCAL: offset += lengthOfUleb128(pcData); offset += lengthOfUleb128(opNode.reg); break; case DBG_SET_EPILOGUE_BEGIN: if (addrDelta > 15) { // pc not ok, add addvance_PC offset += 1;
codeItem.debugInfo = new DebugInfoItem(); codeItem.debugInfo.parameterNames=new StringIdItem[owner.getParameterTypes().length];