hphp/runtime/vm/hhbc.cpp
/**
 * Return the number of successor-edges including fall-through paths but not
 * implicit exception paths.
 */
Return the number of successor-edges including fall-through paths but not
implicit exception paths.
Return the number of successor - edges including fall - through paths but not implicit exception paths .
int numSuccs(const Op* instr) {
  if (!instrIsControlFlow(*instr)) return 1;
  if ((instrFlags(*instr) & TF) != 0) {
    if (isSwitch(*instr)) {
      return *(int*)(instr + 1);
    }
    if (isUnconditionalJmp(*instr) || *instr == OpIterBreak) return 1;
    return 0;
  }
  if (instrJumpOffset(const_cast<Op*>(instr))) return 2;
  return 1;
}
int numSuccs ( const Op * instr ) { if ( ! instrIsControlFlow ( * instr ) ) return 1 ; if ( ( instrFlags ( * instr ) & TF ) != 0 ) { if ( isSwitch ( * instr ) ) { return * ( int * ) ( instr + 1 ) ; } if ( isUnconditionalJmp ( * instr ) || * instr == OpIterBreak ) return 1 ; return 0 ; } if ( instrJumpOffset ( const_cast < Op * > ( instr ) ) ) return 2 ; return 1 ; }
Return the number of successor-edges including fall-through paths but not
 implicit exception paths.
Return the number of successor - edges including fall - through paths but not implicit exception paths .