void mergeToSuccessors(Frame frame, int[] workSet) {
      for (int label = callerBlocks.nextSetBit(0);
          label >= 0;
          label = callerBlocks.nextSetBit(label + 1)) {
        BasicBlock subCaller = labelToBlock(label);
        int succLabel = subCaller.getSuccessors().get(0);

        Frame subFrame = frame.subFrameForLabel(startBlock, label);

        if (subFrame != null) {
          mergeAndWorkAsNecessary(succLabel, -1, null, subFrame, workSet);
        } else {
          Bits.set(workSet, label);
        }
      }
    }
Merges the specified frame into this subroutine's successors, setting {@code workSet} as
appropriate. To be called with the frame of a subroutine ret block.

@param frame {@code non-null;} frame from ret block to merge
@param workSet {@code non-null;} workset to update
android/android_framework/dex-maker/src/main/java/com/android/dx/cf/code/Ropper.java