cua-set-mark is an interactive compiled Lisp function in `cua-base.el'.

(cua-set-mark &optional ARG)

Set mark at where point is, clear mark, or jump to mark.

With no prefix argument, clear mark if already set. Otherwise, set
mark, and push old mark position on local mark ring; also push mark on
global mark ring if last mark was set in another buffer.

With argument, jump to mark, and pop a new position for mark off
the local mark ring (this does not affect the global mark ring).
Use C-x C-@ to jump to a mark off the global mark ring
(see `pop-global-mark').

If `cua-auto-mark-last-change' is non-nil, this command behaves as if there
was an implicit mark at the position of the last buffer change.

Repeating the command without the prefix jumps to the next position
off the local (or global) mark ring.

With a double C-u prefix argument, unconditionally set mark.