summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-08-24 12:38:02 +0200
committerAndy Wingo <wingo@pobox.com>2013-08-24 15:41:09 +0200
commitc96933fd544aaf14776a1fc3a2986afc6fecb00c (patch)
tree681be00d565ce7de3812e87c3d61eb75de4f7eaf
parente063995db80e843ef664a90eff58ebc13fbdb2e8 (diff)
downloadguile-c96933fd544aaf14776a1fc3a2986afc6fecb00c.tar.gz
Export the assembler procedures
* module/system/vm/assembler.scm (define-assembler): (define-macro-assembler): Export the assemblers.
-rw-r--r--module/system/vm/assembler.scm20
1 files changed, 12 insertions, 8 deletions
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index b2d917d90..9c267fe52 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -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