Function: comp--latch-make-fill

comp--latch-make-fill is a byte-compiled function defined in comp.el.gz.

Signature

(comp--latch-make-fill TARGET)

Documentation

Create a latch pointing to TARGET and fill it.

Return the created latch.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
(defun comp--latch-make-fill (target)
  "Create a latch pointing to TARGET and fill it.
Return the created latch."
  (let ((latch (make-comp-latch :name (comp--new-block-sym "latch")))
        (curr-bb (comp-limplify-curr-block comp-pass)))
    ;; See `comp--make-curr-block'.
    (setf (comp-limplify-curr-block comp-pass) latch)
    (when (< (comp-func-speed comp-func) 3)
      ;; At speed 3 the programmer is responsible to manually
      ;; place `comp-maybe-gc-or-quit'.
      (comp--emit '(call comp-maybe-gc-or-quit)))
    ;; See `comp--emit-uncond-jump'.
    (comp--emit `(jump ,(comp-block-name target)))
    (comp--mark-curr-bb-closed)
    (puthash (comp-block-name latch) latch (comp-func-blocks comp-func))
    (setf (comp-limplify-curr-block comp-pass) curr-bb)
    latch))