code: private boolean mergeState(int[] current, int[] incoming, int size,
        ConstantPool pool) {
      boolean changed = false;
      for (int i = 0; i < size; i++) {
        int currentType = current[i];
  
        current[i] = TypeInfo.merge(current[i], incoming[i], pool);
        if (currentType != current[i]) {
          changed = true;
        }
      }
      return changed;
    }
docs: Merge an operand stack or local variable array with incoming state.
  
  They are treated the same way; by this point, it should already be
  ensured that the array sizes are the same, which is the only additional
  constraint that is imposed on merging operand stacks (the local variable
  array is always the same size).