summaryrefslogtreecommitdiff
path: root/module/system/base/language.scm
diff options
context:
space:
mode:
authorKeisuke Nishida <kxn30@po.cwru.edu>2001-04-09 01:50:48 +0000
committerKeisuke Nishida <kxn30@po.cwru.edu>2001-04-09 01:50:48 +0000
commit58995613d97e8d40046366cf19e1840773fd55c0 (patch)
tree2309c691589525dc76e4422a6a0ea11b9fecade8 /module/system/base/language.scm
parentf0c9993564fffb06fcb0a53b7fdb69e6504acfa8 (diff)
downloadguile-58995613d97e8d40046366cf19e1840773fd55c0.tar.gz
*** empty log message ***
Diffstat (limited to 'module/system/base/language.scm')
-rw-r--r--module/system/base/language.scm12
1 files changed, 3 insertions, 9 deletions
diff --git a/module/system/base/language.scm b/module/system/base/language.scm
index e5588b314..e467d3e77 100644
--- a/module/system/base/language.scm
+++ b/module/system/base/language.scm
@@ -90,21 +90,15 @@
(do ((x (read-in lang in) (read-in lang in))
(l '() (cons (lang.translator (lang.expander x)) l)))
((eof-object? x) (reverse! l))))))
- (asm (apply compile (cons '@begin code) env opts))
- (bytes (apply assemble asm env opts)))
- (call-with-output-file (object-file-name file)
- (lambda (out) (uniform-vector-write bytes out)))))
+ (asm (apply compile (cons '@begin code) env opts)))
+ (save-dumpcode (apply assemble asm env opts) (object-file-name file))))
(define (load-file-in file env lang . opts)
(let ((compiled (object-file-name file)))
(if (or (not (file-exists? compiled))
(> (stat:mtime (stat file)) (stat:mtime (stat compiled))))
(compile-file-in file env lang :O))
- (call-with-input-file compiled
- (lambda (p)
- (let ((bytes (make-uniform-vector (stat:size (stat compiled)) #\a)))
- (uniform-vector-read! bytes p)
- bytes)))))
+ (load-dumpcode compiled)))
(define (object-file-name file)
(let ((m (string-match "\\.[^.]*$" file)))