protected final void storeResults(Frame frame) {
    if (resultCount < 0) {
      throw new SimException("results never set");
    }

    if (resultCount == 0) {
      // Nothing to do.
      return;
    }

    if (localTarget != null) {
      /*
       * Note: getLocalTarget() doesn't necessarily return
       * localTarget directly.
       */
      frame.getLocals().set(getLocalTarget(false));
    } else {
      ExecutionStack stack = frame.getStack();
      for (int i = 0; i < resultCount; i++) {
        if (localInfo) {
          stack.setLocal();
        }
        stack.push(results[i]);
      }
    }
  }
Stores the results of the latest operation into the given frame. If there is a local target
(see {@link #localTarget}), then the sole result is stored to that target; otherwise any
results are pushed onto the stack.

@param frame {@code non-null;} frame to operate on
android/android_framework/dex-maker/src/main/java/com/android/dx/cf/code/BaseMachine.java