1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 21:40:33 +02:00

Export the assembler procedures

* module/system/vm/assembler.scm (define-assembler):
  (define-macro-assembler): Export the assemblers.
This commit is contained in:
Andy Wingo 2013-08-24 12:38:02 +02:00
parent e063995db8
commit c96933fd54

View file

@ -440,10 +440,12 @@ later by the linker."
(syntax-case x ()
((_ name opcode kind arg ...)
(with-syntax ((emit (id-append #'name #'emit- #'name)))
#'(define emit
(let ((emit (assembler name opcode arg ...)))
(hashq-set! assemblers 'name emit)
emit)))))))
#'(begin
(define emit
(let ((emit (assembler name opcode arg ...)))
(hashq-set! assemblers 'name emit)
emit))
(export emit)))))))
(define-syntax visit-opcodes
(lambda (x)
@ -601,10 +603,12 @@ returned instead."
(syntax-case x ()
((_ (name arg ...) body body* ...)
(with-syntax ((emit (id-append #'name #'emit- #'name)))
#'(define emit
(let ((emit (lambda (arg ...) body body* ...)))
(hashq-set! assemblers 'name emit)
emit)))))))
#'(begin
(define emit
(let ((emit (lambda (arg ...) body body* ...)))
(hashq-set! assemblers 'name emit)
emit))
(export emit)))))))
(define-macro-assembler (load-constant asm dst obj)
(cond