Function: comp-emit-uncond-jump

comp-emit-uncond-jump is a byte-compiled function defined in comp.el.gz.

Signature

(comp-emit-uncond-jump LAP-LABEL)

Documentation

Emit an unconditional branch to LAP-LABEL.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
(defun comp-emit-uncond-jump (lap-label)
  "Emit an unconditional branch to LAP-LABEL."
  (cl-destructuring-bind (label-num . stack-depth) lap-label
    (when stack-depth
      (cl-assert (= (1- stack-depth) (comp-sp))))
    (let* ((target-addr (comp-label-to-addr label-num))
           (target (comp-bb-maybe-add target-addr
                                      (comp-sp)))
           (latch (when (< target-addr (comp-limplify-pc comp-pass))
                    (comp-latch-make-fill target)))
           (eff-target-name (comp-block-name (or latch target))))
      (comp-emit `(jump ,eff-target-name))
      (comp-mark-curr-bb-closed))))