[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/07: Fix intset-add! transient bug
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/07: Fix intset-add! transient bug |
Date: |
Mon, 11 May 2015 20:46:10 +0000 |
wingo pushed a commit to branch master
in repository guile.
commit f95a794a3d0f560c2f6f972820fd4545369ad6e7
Author: Andy Wingo <address@hidden>
Date: Sat May 9 11:51:06 2015 +0200
Fix intset-add! transient bug
* module/language/cps/intset.scm (intset-add!): Fix as in
0f082bd3f7ad4854333728c6d0f71ef7df1fbec3.
---
module/language/cps/intset.scm | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/module/language/cps/intset.scm b/module/language/cps/intset.scm
index fb42a1f..9fc44bd 100644
--- a/module/language/cps/intset.scm
+++ b/module/language/cps/intset.scm
@@ -203,7 +203,10 @@
(#f (let ((v (new-branch edit)))
(vector-set! root idx v)
v))
- (v (writable-branch v edit)))))
+ (v (let ((v* (writable-branch v edit)))
+ (unless (eq? v v*)
+ (vector-set! root idx v*))
+ v*)))))
(define (adjoin-branch! i shift root)
(let* ((shift (- shift *branch-bits*))
(idx (logand (ash i (- shift)) *branch-mask*)))
- [Guile-commits] branch master updated (d99fedc -> b31af02), Andy Wingo, 2015/05/11
- [Guile-commits] 01/07: Fix intset-add! transient bug,
Andy Wingo <=
- [Guile-commits] 02/07: Fix another intset transient bug, Andy Wingo, 2015/05/11
- [Guile-commits] 03/07: compute-dom-edges returns a persistent intmap, Andy Wingo, 2015/05/11
- [Guile-commits] 04/07: Tree-IL -> CPS2 -> CPS, Andy Wingo, 2015/05/11
- [Guile-commits] 06/07: Adapt return arities in Tree-IL -> CPS2 conversion, Andy Wingo, 2015/05/11
- [Guile-commits] 05/07: Build CPS2 with transient intmaps, Andy Wingo, 2015/05/11
- [Guile-commits] 07/07: Consolidate CPS2 above CPS in the compiler, Andy Wingo, 2015/05/11