|
From: stassats <sta...@us...> - 2014-12-01 00:23:36
|
The branch "master" has been updated in SBCL:
via 4e466a859d9b17ae100be46f69cf957825229188 (commit)
from 2f48e1497c757fe4b64aeca0ccc9507b9f1c1e2e (commit)
- Log -----------------------------------------------------------------
commit 4e466a859d9b17ae100be46f69cf957825229188
Author: Stas Boukarev <sta...@gm...>
Date: Sun Nov 30 16:48:57 2014 +0300
Avoid putting two safepoints in a row when doing self calls.
Because it's a loop it needs a safepoint, but there's already one at
the beginning of a function.
---
src/compiler/ir2tran.lisp | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/compiler/ir2tran.lisp b/src/compiler/ir2tran.lisp
index a358af3..7cd2c03 100644
--- a/src/compiler/ir2tran.lisp
+++ b/src/compiler/ir2tran.lisp
@@ -1919,7 +1919,9 @@
#!+sb-safepoint
(let ((first-node (block-start-node block)))
(unless (or (and (bind-p first-node)
- (xep-p (bind-lambda first-node)))
+ ;; Bind-nodes already have safepoints
+ (eq (bind-lambda first-node)
+ (lambda-home (bind-lambda first-node))))
(and (valued-node-p first-node)
(node-lvar first-node)
(eq (lvar-fun-name
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL
|