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; }
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; }
public void visitContinue(JCContinue tree) { Env<GenContext> targetEnv = unwind(tree.target, env); assert code.state.stacksize == 0; targetEnv.info.addCont(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitBreak(JCBreak tree) { Env<GenContext> targetEnv = unwind(tree.target, env); assert code.state.stacksize == 0; targetEnv.info.addExit(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitContinue(JCContinue tree) { Env<GenContext> targetEnv = unwind(tree.target, env); assert code.state.stacksize == 0; targetEnv.info.addCont(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitBreak(JCBreak tree) { Env<GenContext> targetEnv = unwind(tree.target, env); assert code.state.stacksize == 0; targetEnv.info.addExit(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
Chain jumpFalse() { if (tree == null) return code.mergeChains(falseJumps, code.branch(code.negate(opcode))); // we should proceed further in -Xjcov mode only int startpc = code.curPc(); Chain c = code.mergeChains(falseJumps, code.branch(code.negate(opcode))); code.crt.put(tree, CRTable.CRT_BRANCH_FALSE, startpc, code.curPc()); return c; }
Chain jumpFalse() { if (tree == null) return code.mergeChains(falseJumps, code.branch(code.negate(opcode))); // we should proceed further in -Xjcov mode only int startpc = code.curPc(); Chain c = code.mergeChains(falseJumps, code.branch(code.negate(opcode))); code.crt.put(tree, CRTable.CRT_BRANCH_FALSE, startpc, code.curPc()); return c; }
Chain jumpFalse() { if (tree == null) return Code.mergeChains(falseJumps, code.branch(Code.negate(opcode))); // we should proceed further in -Xjcov mode only int startpc = code.curCP(); Chain c = Code.mergeChains(falseJumps, code.branch(Code.negate(opcode))); code.crt.put(tree, CRTable.CRT_BRANCH_FALSE, startpc, code.curCP()); return c; }
Chain jumpFalse() { if (tree == null) return Code.mergeChains(falseJumps, code.branch(Code.negate(opcode))); // we should proceed further in -Xjcov mode only int startpc = code.curCP(); Chain c = Code.mergeChains(falseJumps, code.branch(Code.negate(opcode))); code.crt.put(tree, CRTable.CRT_BRANCH_FALSE, startpc, code.curCP()); return c; }
public void visitBreak(JCBreak tree) { Env<GenContext> targetEnv = unwind(tree.target, env); Assert.check(code.state.stacksize == 0); targetEnv.info.addExit(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitContinue(JCContinue tree) { Env<GenContext> targetEnv = unwind(tree.target, env); Assert.check(code.state.stacksize == 0); targetEnv.info.addCont(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitBreak(JCBreak tree) { Env<GenContext> targetEnv = unwind(tree.target, env); Assert.check(code.state.stacksize == 0); targetEnv.info.addExit(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
public void visitContinue(JCContinue tree) { Env<GenContext> targetEnv = unwind(tree.target, env); Assert.check(code.state.stacksize == 0); targetEnv.info.addCont(code.branch(goto_)); endFinalizerGaps(env, targetEnv); }
Item load() { Chain trueChain = null; Chain falseChain = jumpFalse(); if (!isFalse()) { code.resolve(trueJumps); code.emitop0(iconst_1); trueChain = code.branch(goto_); } if (falseChain != null) { code.resolve(falseChain); code.emitop0(iconst_0); } code.resolve(trueChain); return stackItem[typecode]; }
Item load() { Chain trueChain = null; Chain falseChain = jumpFalse(); if (!isFalse()) { code.resolve(trueJumps); code.emitop0(iconst_1); trueChain = code.branch(goto_); } if (falseChain != null) { code.resolve(falseChain); code.emitop0(iconst_0); } code.resolve(trueChain); return stackItem[typecode]; }
Item load() { Chain trueChain = null; Chain falseChain = jumpFalse(); if (!isFalse()) { code.resolve(trueJumps); code.emitop0(iconst_1); trueChain = code.branch(goto_); } if (falseChain != null) { code.resolve(falseChain); code.emitop0(iconst_0); } code.resolve(trueChain); return stackItem[typecode]; }
public void visitIf(JCIf tree) { int limit = code.nextreg; Chain thenExit = null; CondItem c = genCond(TreeInfo.skipParens(tree.cond), CRT_FLOW_CONTROLLER); Chain elseChain = c.jumpFalse(); if (!c.isFalse()) { code.resolve(c.trueJumps); genStat(tree.thenpart, env, CRT_STATEMENT | CRT_FLOW_TARGET); thenExit = code.branch(goto_); } if (elseChain != null) { code.resolve(elseChain); if (tree.elsepart != null) genStat(tree.elsepart, env,CRT_STATEMENT | CRT_FLOW_TARGET); } code.resolve(thenExit); code.endScopes(limit); }