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))