diff options
author | Andy Wingo <wingo@pobox.com> | 2009-04-16 15:20:40 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-04-16 15:20:40 +0200 |
commit | b41b92c9d1c439ddfc5c081b3949e9d1763de181 (patch) | |
tree | 5b24839cf3c6ff8b69140f020b0f9499dbd28369 /module/language/assembly/compile-bytecode.scm | |
parent | 275baf01136895093570725fe55c4104725a9387 (diff) | |
download | guile-b41b92c9d1c439ddfc5c081b3949e9d1763de181.tar.gz |
compilation passes return third value: the continuation environment
* module/system/base/compile.scm: Expect compile passes to produce three
values, not two. The third is the "continuation environment", the
environment that can be used to compile a subsequent expression from
the same source language. For example, expansion-time side effects can
set the current module, which would be reflected appropriately in the
continuation environment.
* module/language/assembly/compile-bytecode.scm:
* module/language/bytecode/spec.scm:
* module/language/ecmascript/compile-ghil.scm:
* module/language/ghil/compile-glil.scm:
* module/language/glil/spec.scm:
* module/language/objcode/spec.scm:
* module/language/scheme/compile-ghil.scm:
* module/system/base/compile.scm: Update compile passes to return a
continuation environment.
Diffstat (limited to 'module/language/assembly/compile-bytecode.scm')
-rw-r--r-- | module/language/assembly/compile-bytecode.scm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/language/assembly/compile-bytecode.scm b/module/language/assembly/compile-bytecode.scm index 6e7e34efc..00a324c31 100644 --- a/module/language/assembly/compile-bytecode.scm +++ b/module/language/assembly/compile-bytecode.scm @@ -40,7 +40,7 @@ (get-addr (lambda () i))) (write-bytecode assembly write-byte get-addr '()) (if (= i (u8vector-length v)) - (values v env) + (values v env env) (error "incorrect length in assembly" i (u8vector-length v))))) (else (error "bad assembly" assembly)))) |