diff options
-rw-r--r-- | share/txr/stdlib/compiler.tl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl index 57b56828..fc80d178 100644 --- a/share/txr/stdlib/compiler.tl +++ b/share/txr/stdlib/compiler.tl @@ -825,8 +825,10 @@ (defmeth compiler comp-call (me oreg env opcode args) (tree-bind (fform . fargs) args - (let* ((ffrag me.(compile oreg env fform)) + (let* ((foreg me.(alloc-treg)) + (ffrag me.(compile foreg env fform)) (cfrag me.(comp-call-impl oreg env opcode ffrag.oreg fargs))) + me.(free-treg foreg) (new (frag cfrag.oreg (append ffrag.code cfrag.code) |