From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.bugs Subject: bug#17049: [PATCH] Make reverse! forego the cost of SCM_VALIDATE_LIST Date: Fri, 21 Mar 2014 00:38:46 -0400 Message-ID: <87pplgnp2h.fsf@yeeloong.lan> References: <1395314582-22733-1-git-send-email-dak@gnu.org> <87bnx0y4qk.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1395376809 28953 80.91.229.3 (21 Mar 2014 04:40:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 21 Mar 2014 04:40:09 +0000 (UTC) Cc: David Kastrup , 17049@debbugs.gnu.org To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Mar 21 05:40:17 2014 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WQrFg-0001hs-AD for guile-bugs@m.gmane.org; Fri, 21 Mar 2014 05:40:16 +0100 Original-Received: from localhost ([::1]:50668 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQrFf-0005o5-TN for guile-bugs@m.gmane.org; Fri, 21 Mar 2014 00:40:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43955) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQrFY-0005g6-8J for bug-guile@gnu.org; Fri, 21 Mar 2014 00:40:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQrFS-0005Kz-Ov for bug-guile@gnu.org; Fri, 21 Mar 2014 00:40:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:41631) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQrFS-0005KY-LR for bug-guile@gnu.org; Fri, 21 Mar 2014 00:40:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WQrFS-0000rN-99 for bug-guile@gnu.org; Fri, 21 Mar 2014 00:40:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Fri, 21 Mar 2014 04:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17049 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch Original-Received: via spool by 17049-submit@debbugs.gnu.org id=B17049.13953767673234 (code B ref 17049); Fri, 21 Mar 2014 04:40:02 +0000 Original-Received: (at 17049) by debbugs.gnu.org; 21 Mar 2014 04:39:27 +0000 Original-Received: from localhost ([127.0.0.1]:42813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQrEs-0000q5-Gb for submit@debbugs.gnu.org; Fri, 21 Mar 2014 00:39:26 -0400 Original-Received: from world.peace.net ([96.39.62.75]:35820) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WQrEo-0000pq-AV for 17049@debbugs.gnu.org; Fri, 21 Mar 2014 00:39:23 -0400 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong.lan) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1WQrEh-0003f2-Be; Fri, 21 Mar 2014 00:39:15 -0400 In-Reply-To: <87bnx0y4qk.fsf@pobox.com> (Andy Wingo's message of "Thu, 20 Mar 2014 21:50:11 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7419 Archived-At: Andy Wingo writes: > On Thu 20 Mar 2014 12:23, David Kastrup writes: > >> + /* We did not start with a proper list. Undo the reversal. */ > > I'm hesitant. This is visible to other threads. (Granted there has to > be significant wrongness if we get here...) If one thread attempts to access a list that's being destructively reversed by another thread, the behavior is undefined. Incidentally, that's also the reason that your recent changes to 'for-each' are defensible, Andy. Therefore, I strongly believe this to be a non-issue. I have yet to review this patch properly (except to notice that it does not follow the GNU coding standards w.r.t. bracket placement, which needs to be fixed), but based on the high-level description, it sounds good to me, and also quite clever. Regards, Mark