[prev in list] [next in list] [prev in thread] [next in thread]
List: sbcl-commits
Subject: [Sbcl-commits] master: No more destructive MERGE of shared data in best-modular-version
From: "Paul Khuong" <pkhuong () users ! sourceforge ! net>
Date: 2013-07-18 21:05:44
Message-ID: E1UzvOV-0001MR-JD () sfs-ml-1 ! v29 ! ch3 ! sourceforge ! com
[Download RAW message or body]
The branch "master" has been updated in SBCL:
via e240610bcc02cfe6f970131a362502d33be114c5 (commit)
from 953e2961a4e0f130d67da600d1c965d6794a8984 (commit)
- Log -----------------------------------------------------------------
commit e240610bcc02cfe6f970131a362502d33be114c5
Author: Paul Khuong <pvk@pvk.ca>
Date: Tue Jul 9 08:16:41 2013 -0400
No more destructive MERGE of shared data in best-modular-version
The old code worked by accident: few/no platform implements
untagged signed modular arithmetic VOPs.
The new code handles that common case to avoid consing a fresh list
when the MERGE will be an identity.
---
src/compiler/srctran.lisp | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp
index 18f7301..2fc1c40 100644
--- a/src/compiler/srctran.lisp
+++ b/src/compiler/srctran.lisp
@@ -3044,7 +3044,10 @@
;; 3. >/>= width-matched :untagged
(let* ((uuwidths (modular-class-widths *untagged-unsigned-modular-class*))
(uswidths (modular-class-widths *untagged-signed-modular-class*))
- (uwidths (merge 'list uuwidths uswidths #'< :key #'car))
+ (uwidths (if (and uuwidths uswidths)
+ (merge 'list (copy-list uuwidths) (copy-list uswidths)
+ #'< :key #'car)
+ (or uuwidths uswidths)))
(twidths (modular-class-widths *tagged-modular-class*)))
(let ((exact (find (cons width signedp) uwidths :test #'equal)))
(when exact
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Sbcl-commits mailing list
Sbcl-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic