summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/txr/stdlib/compiler.tl4
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)