private void processRegister(RegisterSpec result, EscapeSet escSet) {
    ArrayList<RegisterSpec> regWorklist = new ArrayList<RegisterSpec>();
    regWorklist.add(result);

    // Go through the worklist
    while (!regWorklist.isEmpty()) {
      int listSize = regWorklist.size() - 1;
      RegisterSpec def = regWorklist.remove(listSize);
      List<SsaInsn> useList = ssaMeth.getUseListForRegister(def.getReg());

      // Handle all the uses of this register
      for (SsaInsn use : useList) {
        Rop useOpcode = use.getOpcode();

        if (useOpcode == null) {
          // Handle phis
          processPhiUse(use, escSet, regWorklist);
        } else {
          // Handle other opcodes
          processUse(def, use, escSet, regWorklist);
        }
      }
    }
  }
Iterate through all the uses of a new object.

@param result {@code non-null;} register where new object is stored
@param escSet {@code non-null;} EscapeSet for the new object
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/EscapeAnalysis.java