diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-01 10:15:00 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-01 10:15:00 +0100 |
commit | 1f1ec13b5c459717b22030565e591f1f713ee39d (patch) | |
tree | 8e404fed86e857fd6a860cfdc9eaae0466dc0bbf /module/system/vm/objcode.scm | |
parent | 9aeaabdc4571b5a2319c88e02904bd8996d5ac01 (diff) | |
download | guile-1f1ec13b5c459717b22030565e591f1f713ee39d.tar.gz |
add code for writing out metadata to the end of a program
* libguile/objcodes.c (make_objcode_by_mmap, scm_c_make_objcode_slice):
Verify the lengths with the meta-length.
(scm_objcode_meta): New procedure, for getting at the meta-info of an
objcode.
(scm_objcode_to_bytecode):
(scm_write_objcode): Write bytecode with the metadata too.
* module/system/vm/objcode.scm: Export object-meta.
* module/language/assembly.scm (byte-length):
* module/language/assembly/compile-bytecode.scm (write-bytecode):
* module/language/assembly/decompile-bytecode.scm (decode-load-program):
* module/language/assembly/disassemble.scm (disassemble-load-program):
* module/language/glil/compile-assembly.scm (glil->assembly):
* test-suite/tests/asm-to-bytecode.test ("compiler"): Change to
load-program format to have meta-or-#f instead of meta-length, so that
we can serialize the meta as objcode without a load-program byte. Add a
test for writing out the meta.
Diffstat (limited to 'module/system/vm/objcode.scm')
-rw-r--r-- | module/system/vm/objcode.scm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/module/system/vm/objcode.scm b/module/system/vm/objcode.scm index 209f2da54..df1ff26e4 100644 --- a/module/system/vm/objcode.scm +++ b/module/system/vm/objcode.scm @@ -20,7 +20,8 @@ ;;; Code: (define-module (system vm objcode) - #:export (objcode? bytecode->objcode objcode->bytecode + #:export (objcode? objcode-meta + bytecode->objcode objcode->bytecode load-objcode write-objcode word-size byte-order)) |