mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 05:50:26 +02:00
Export the assembler procedures
* module/system/vm/assembler.scm (define-assembler): (define-macro-assembler): Export the assemblers.
This commit is contained in:
parent
e063995db8
commit
c96933fd54
1 changed files with 12 additions and 8 deletions
|
@ -440,10 +440,12 @@ later by the linker."
|
||||||
(syntax-case x ()
|
(syntax-case x ()
|
||||||
((_ name opcode kind arg ...)
|
((_ name opcode kind arg ...)
|
||||||
(with-syntax ((emit (id-append #'name #'emit- #'name)))
|
(with-syntax ((emit (id-append #'name #'emit- #'name)))
|
||||||
#'(define emit
|
#'(begin
|
||||||
(let ((emit (assembler name opcode arg ...)))
|
(define emit
|
||||||
(hashq-set! assemblers 'name emit)
|
(let ((emit (assembler name opcode arg ...)))
|
||||||
emit)))))))
|
(hashq-set! assemblers 'name emit)
|
||||||
|
emit))
|
||||||
|
(export emit)))))))
|
||||||
|
|
||||||
(define-syntax visit-opcodes
|
(define-syntax visit-opcodes
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
|
@ -601,10 +603,12 @@ returned instead."
|
||||||
(syntax-case x ()
|
(syntax-case x ()
|
||||||
((_ (name arg ...) body body* ...)
|
((_ (name arg ...) body body* ...)
|
||||||
(with-syntax ((emit (id-append #'name #'emit- #'name)))
|
(with-syntax ((emit (id-append #'name #'emit- #'name)))
|
||||||
#'(define emit
|
#'(begin
|
||||||
(let ((emit (lambda (arg ...) body body* ...)))
|
(define emit
|
||||||
(hashq-set! assemblers 'name emit)
|
(let ((emit (lambda (arg ...) body body* ...)))
|
||||||
emit)))))))
|
(hashq-set! assemblers 'name emit)
|
||||||
|
emit))
|
||||||
|
(export emit)))))))
|
||||||
|
|
||||||
(define-macro-assembler (load-constant asm dst obj)
|
(define-macro-assembler (load-constant asm dst obj)
|
||||||
(cond
|
(cond
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue