/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } }
/** * Dispatch the call on its last statement. */ @Override public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Dispatch the call on its last statement. */ public void branchChainTo(BranchLabel label) { // in order to improve debug attributes for stepping (11431) // we want to inline the jumps to #breakLabel which already got // generated (if any), and have them directly branch to a better // location (the argument label). // we know at this point that the breakLabel already got placed if (this.breakLabel.forwardReferenceCount() > 0) { label.becomeDelegateFor(this.breakLabel); } } }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }
/** * Some placed labels might be branching to a goto bytecode which we can optimize better. */ public boolean inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) { if (targetLabel.delegate != null) return false; // already inlined int chaining = L_UNKNOWN; for (int i = this.countLabels - 1; i >= 0; i--) { BranchLabel currentLabel = this.labels[i]; if (currentLabel.position != gotoLocation) break; if (currentLabel == targetLabel) { chaining |= L_CANNOT_OPTIMIZE; // recursive continue; } if (currentLabel.isStandardLabel()) { if (currentLabel.delegate != null) continue; // ignore since already inlined targetLabel.becomeDelegateFor(currentLabel); chaining |= L_OPTIMIZABLE; // optimizable, providing no vetoing continue; } // case label chaining |= L_CANNOT_OPTIMIZE; } return (chaining & (L_OPTIMIZABLE|L_CANNOT_OPTIMIZE)) == L_OPTIMIZABLE; // check was some standards, and no case/recursive }