summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-28 11:00:05 +0000
committerAndy Wingo <wingo@pobox.com>2015-10-28 11:00:05 +0000
commit7c9e477b82377834d126dcc6294922b8de9722bd (patch)
treea8026c70c8aab4717f9f4f2e2be714f49e31c096
parent7aee3c74f5f31c6f386c75506f43b42c786a41b4 (diff)
downloadguile-7c9e477b82377834d126dcc6294922b8de9722bd.tar.gz
Don't emit redundant reset-frame before return
* module/language/cps/compile-bytecode.scm (compile-function): Don't emit reset-frame before return-values.
-rw-r--r--module/language/cps/compile-bytecode.scm2
1 files changed, 0 insertions, 2 deletions
diff --git a/module/language/cps/compile-bytecode.scm b/module/language/cps/compile-bytecode.scm
index 838fd4d07..a313da7c6 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -123,7 +123,6 @@
(lookup-parallel-moves label allocation))
(emit-tail-call-label asm (1+ (length args)) k))
(($ $values ())
- (emit-reset-frame asm 1)
(emit-return-values asm 1))
(($ $values (arg))
(if (maybe-slot arg)
@@ -137,7 +136,6 @@
(for-each (match-lambda
((src . dst) (emit-mov asm (from-sp dst) (from-sp src))))
(lookup-parallel-moves label allocation))
- (emit-reset-frame asm (1+ (length args)))
(emit-return-values asm (1+ (length args))))
(($ $primcall 'return (arg))
(emit-return asm (from-sp (slot arg))))))