]> git.eshelyaron.com Git - emacs.git/commit
* Introduce latches
authorAndrea Corallo <akrl@sdf.org>
Thu, 11 Jun 2020 20:53:31 +0000 (22:53 +0200)
committerAndrea Corallo <akrl@sdf.org>
Sat, 13 Jun 2020 14:37:14 +0000 (16:37 +0200)
commit34ed9d24984360dcc26fc36561f2de6a0917c58e
tree737ba027f5db0b7e9134bda2d3ddc95e636ffb18
parent7f8dbf70a5b0a61345b458537b1a7b4febf468fc
* Introduce latches

Define a new kind of basic block 'latch' to close over loops.  Its
purpose is for now to emit calls to `comp-maybe-gc-or-quit' but in
future will be usefull for the loop optimizer to exploit unboxes.

* lisp/emacs-lisp/comp.el (comp-block): New base class.
(comp-block-lap): New class for LAP derived basic blocks.
(comp-latch): New class.
(comp-bb-maybe-add, comp-make-curr-block, comp-emit-handler)
(comp-emit-switch, comp-emit-switch, comp-limplify-top-level)
(comp-addr-to-bb-name, comp-limplify-block)
(comp-limplify-function): Update logic for new bb objects
arrangment.
(comp-latch-make-fill): New function.
(comp-emit-uncond-jump, comp-emit-cond-jump): Update to emit
latches.
(comp-new-block-sym): Add a postfix paramenter.
lisp/emacs-lisp/comp.el