[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/41: Fix miscompilation of closures allocated as vecto
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/41: Fix miscompilation of closures allocated as vectors |
Date: |
Wed, 02 Dec 2015 08:06:43 +0000 |
wingo pushed a commit to branch master
in repository guile.
commit 92ed7f69894316247e78c29b953bb59b5c3953d7
Author: Andy Wingo <address@hidden>
Date: Wed Nov 11 16:30:59 2015 +0100
Fix miscompilation of closures allocated as vectors
* module/language/cps/closure-conversion.scm (convert-one): Fix
miscompilation of vector closure initialization.
---
module/language/cps/closure-conversion.scm | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/module/language/cps/closure-conversion.scm
b/module/language/cps/closure-conversion.scm
index 29577a9..c6f941d 100644
--- a/module/language/cps/closure-conversion.scm
+++ b/module/language/cps/closure-conversion.scm
@@ -587,12 +587,12 @@ bound to @var{var}, and continue to @var{k}."
(letk k ($kargs () () ,body))
($ (convert-arg v
(lambda (cps v)
- (with-cps cps
- ($ (with-cps-constants ((idx idx))
- (let ((op (cond
- ((not known?) 'free-set!)
- ((<= idx #xff)
'vector-set!/immediate)
- (else 'vector-set!))))
+ (let ((op (cond
+ ((not known?) 'free-set!)
+ ((<= idx #xff) 'vector-set!/immediate)
+ (else 'vector-set!))))
+ (with-cps cps
+ ($ (with-cps-constants ((idx idx))
(build-term
($continue k src
($primcall op (var idx
v))))))))))))))))))
- [Guile-commits] branch master updated (13edcf5 -> 2468871), Andy Wingo, 2015/12/02
- [Guile-commits] 03/41: Remove br-if-equal opcode, Andy Wingo, 2015/12/02
- [Guile-commits] 02/41: Don't compile equal? to br-if-equal, Andy Wingo, 2015/12/02
- [Guile-commits] 04/41: Identify boot continuations by code, not closure, Andy Wingo, 2015/12/02
- [Guile-commits] 01/41: Fix miscompilation of closures allocated as vectors,
Andy Wingo <=
- [Guile-commits] 08/41: Add frame-procedure-name, Andy Wingo, 2015/12/02
- [Guile-commits] 06/41: Apply of non-programs has IP that is not from prev frame, Andy Wingo, 2015/12/02
- [Guile-commits] 07/41: Remove primitive?, add primitive-code?, Andy Wingo, 2015/12/02
- [Guile-commits] 10/41: More robust low-level frame printer, Andy Wingo, 2015/12/02
- [Guile-commits] 05/41: All arities serialize a "closure" binding, Andy Wingo, 2015/12/02
- [Guile-commits] 12/41: ,registers doesn't use frame-procedure, Andy Wingo, 2015/12/02
- [Guile-commits] 11/41: Better frame-call-representation printing of GC clobbers, Andy Wingo, 2015/12/02
- [Guile-commits] 09/41: frame-call-representation avoids frame-procedure., Andy Wingo, 2015/12/02
- [Guile-commits] 15/41: Remove frame-procedure, Andy Wingo, 2015/12/02
- [Guile-commits] 13/41: Remove `procedure' repl command, Andy Wingo, 2015/12/02