stackMap, debugCode, genCrt ? new CRTable(tree, env.toplevel.endPositions) : null, syms,
int startPos = encodePosition(pos.startPos, lineMap, log); if (startPos == Position.NOPOS) continue; int endPos = encodePosition(pos.endPos, lineMap, log); if (endPos == Position.NOPOS) continue;
/** Derived visitor method: check whether CharacterRangeTable * should be emitted, if so, put a new entry into CRTable * and call method to generate bytecode. * If not, just call method to generate bytecode. * @see #genCond(Tree,boolean) * * @param tree The tree to be visited. * @param crtFlags The CharacterRangeTable flags * indicating type of the entry. */ public CondItem genCond(JCTree tree, int crtFlags) { if (!genCrt) return genCond(tree, false); int startpc = code.curPc(); CondItem item = genCond(tree, (crtFlags & CRT_FLOW_CONTROLLER) != 0); code.crt.put(tree, crtFlags, startpc, code.curPc()); return item; }
int alenIdx = writeAttr(names.CharacterRangeTable); int crtIdx = beginAttrs(); int crtEntries = crt.writeCRT(databuf, code.lineMap, log); endAttrs(crtIdx, crtEntries); endAttr(alenIdx);
int alenIdx = writeAttr(names.CharacterRangeTable); int crtIdx = beginAttrs(); int crtEntries = crt.writeCRT(databuf, code.lineMap, log); endAttrs(crtIdx, crtEntries); endAttr(alenIdx);
/** Derived visitor method: check whether CharacterRangeTable * should be emitted, if so, put a new entry into CRTable * and call method to generate bytecode. * If not, just call method to generate bytecode. * @see #genCond(Tree,boolean) * * @param tree The tree to be visited. * @param crtFlags The CharacterRangeTable flags * indicating type of the entry. */ public CondItem genCond(JCTree tree, int crtFlags) { if (!genCrt) return genCond(tree, false); int startpc = code.curPc(); CondItem item = genCond(tree, (crtFlags & CRT_FLOW_CONTROLLER) != 0); code.crt.put(tree, crtFlags, startpc, code.curPc()); return item; }
stackMap, debugCode, genCrt ? new CRTable(tree, env.toplevel.endPositions) : null, syms,
int startPos = encodePosition(pos.startPos, lineMap, log); if (startPos == Position.NOPOS) continue; int endPos = encodePosition(pos.endPos, lineMap, log); if (endPos == Position.NOPOS) continue;
int alenIdx = writeAttr(names.CharacterRangeTable); int crtIdx = beginAttrs(); int crtEntries = crt.writeCRT(databuf, code.lineMap, log); endAttrs(crtIdx, crtEntries); endAttr(alenIdx);
/** Derived visitor method: check whether CharacterRangeTable * should be emitted, if so, put a new entry into CRTable * and call method to generate bytecode. * If not, just call method to generate bytecode. * @see #genCond(JCTree,boolean) * * @param tree The tree to be visited. * @param crtFlags The CharacterRangeTable flags * indicating type of the entry. */ public CondItem genCond(JCTree tree, int crtFlags) { if (!genCrt) return genCond(tree, false); int startpc = code.curCP(); CondItem item = genCond(tree, (crtFlags & CRT_FLOW_CONTROLLER) != 0); code.crt.put(tree, crtFlags, startpc, code.curCP()); return item; }
stackMap, debugCode, genCrt ? new CRTable(tree, env.toplevel.endPositions) : null, syms,
int startPos = encodePosition(pos.startPos, lineMap, log); if (startPos == Position.NOPOS) continue; int endPos = encodePosition(pos.endPos, lineMap, log); if (endPos == Position.NOPOS) continue;
int alenIdx = writeAttr(names.CharacterRangeTable); int crtIdx = beginAttrs(); int crtEntries = crt.writeCRT(databuf, code.lineMap, log); endAttrs(crtIdx, crtEntries); endAttr(alenIdx);
/** Derived visitor method: check whether CharacterRangeTable * should be emitted, if so, put a new entry into CRTable * and call method to generate bytecode. * If not, just call method to generate bytecode. * @see #genStat(Tree, Env) * * @param tree The tree to be visited. * @param env The environment to use. * @param crtFlags The CharacterRangeTable flags * indicating type of the entry. */ public void genStat(JCTree tree, Env<GenContext> env, int crtFlags) { if (!genCrt) { genStat(tree, env); return; } int startpc = code.curPc(); genStat(tree, env); if (tree.tag == JCTree.BLOCK) crtFlags |= CRT_BLOCK; code.crt.put(tree, crtFlags, startpc, code.curPc()); }
stackMap, debugCode, genCrt ? new CRTable(tree, env.toplevel.endPositions) : null, syms,
int startPos = encodePosition(pos.startPos, lineMap, log); if (startPos == Position.NOPOS) continue; int endPos = encodePosition(pos.endPos, lineMap, log); if (endPos == Position.NOPOS) continue;
/** Derived visitor method: check whether CharacterRangeTable * should be emitted, if so, put a new entry into CRTable * and call method to generate bytecode. * If not, just call method to generate bytecode. * @see #genCond(JCTree,boolean) * * @param tree The tree to be visited. * @param crtFlags The CharacterRangeTable flags * indicating type of the entry. */ public CondItem genCond(JCTree tree, int crtFlags) { if (!genCrt) return genCond(tree, false); int startpc = code.curCP(); CondItem item = genCond(tree, (crtFlags & CRT_FLOW_CONTROLLER) != 0); code.crt.put(tree, crtFlags, startpc, code.curCP()); return item; }
Chain jumpTrue() { if (tree == null) return code.mergeChains(trueJumps, code.branch(opcode)); // we should proceed further in -Xjcov mode only int startpc = code.curPc(); Chain c = code.mergeChains(trueJumps, code.branch(opcode)); code.crt.put(tree, CRTable.CRT_BRANCH_TRUE, startpc, code.curPc()); return c; }
Chain jumpTrue() { if (tree == null) return code.mergeChains(trueJumps, code.branch(opcode)); // we should proceed further in -Xjcov mode only int startpc = code.curPc(); Chain c = code.mergeChains(trueJumps, code.branch(opcode)); code.crt.put(tree, CRTable.CRT_BRANCH_TRUE, startpc, code.curPc()); return c; }
Chain jumpTrue() { if (tree == null) return Code.mergeChains(trueJumps, code.branch(opcode)); // we should proceed further in -Xjcov mode only int startpc = code.curCP(); Chain c = Code.mergeChains(trueJumps, code.branch(opcode)); code.crt.put(tree, CRTable.CRT_BRANCH_TRUE, startpc, code.curCP()); return c; }