mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-17 19:42:24 +02:00
Add new "source" macro instruction; compile-rtl emits it.
* module/system/vm/assembler.scm (<asm>): Add "sources" field. (make-assembler): Adapt to make-asm change. (source): New macro assembler. * module/language/cps/compile-rtl.scm (emit-rtl-sequence): (compile-fun): Emit source instructions as appropriate.
This commit is contained in:
parent
6371e368e6
commit
e675e9bd39
2 changed files with 18 additions and 3 deletions
|
@ -316,6 +316,8 @@
|
|||
(((k . _) . _) k)
|
||||
(() #f))))
|
||||
(emit-label asm k)
|
||||
(when src
|
||||
(emit-source asm src))
|
||||
(emit-rtl k exp-k exp next-label)
|
||||
(lp exps))))))
|
||||
|
||||
|
@ -335,6 +337,8 @@
|
|||
kw))
|
||||
(nlocals (lookup-nlocals k allocation)))
|
||||
(emit-label asm k)
|
||||
(when src
|
||||
(emit-source asm src))
|
||||
(emit-begin-kw-arity asm req opt rest kw-indices allow-other-keys?
|
||||
nlocals alternate)
|
||||
(emit-rtl-sequence asm body allocation nlocals cont-table)
|
||||
|
@ -353,6 +357,8 @@
|
|||
(match f
|
||||
(($ $fun meta free ($ $cont k src ($ $kentry self tail clauses)))
|
||||
(emit-begin-program asm k (or meta '()))
|
||||
(when src
|
||||
(emit-source asm src))
|
||||
(emit-fun-clauses clauses)
|
||||
(emit-end-program asm)))))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue