Skip to content

Instantly share code, notes, and snippets.

(defun foo (f a b)
(declare (optimize (debug 1)))
(labels ((fun (z)
(let ((m z))
;; delays type derivation of FUN as FIXNUM until constraint propagation
;; making sure SUBSTITUTE-SINGLE-USE-LVAR runs first.
(if (typep m 'fixnum)
m
0))))
(declare (inline fun))
# -*- makefile -*- for the C-level run-time support for SBCL
# This software is part of the SBCL system. See the README file for
# more information.
#
# This software is derived from the CMU CL system, which was
# written at Carnegie Mellon University and released into the
# public domain. The software is in the public domain and is
# provided with absolutely no warranty. See the COPYING and CREDITS
# files for more information.
@stassats
stassats / x.diff
Created November 21, 2018 15:43
x.diff
diff --git a/src/lisp/kernel/cleavir/inline-prep.lisp b/src/lisp/kernel/cleavir/inline-prep.lisp
index df020fd6f..ad25aa21b 100644
--- a/src/lisp/kernel/cleavir/inline-prep.lisp
+++ b/src/lisp/kernel/cleavir/inline-prep.lisp
@@ -119,10 +119,7 @@
#-cst
(cleavir-generate-ast:generate-ast
function-form (cleavir-env:compile-time env) *clasp-system*))))
- `(eval-when (:compile-toplevel :load-toplevel :execute)
- (when (core:declared-global-inline-p ',name)
Invalid exit status: classoid-typep.impure.lisp
Invalid exit status: clos-cache.impure.lisp
Expected failure: dynamic-extent.impure.lisp / DX-COMPILER-NOTES
Expected failure: float.impure.lisp / (RANGE-REDUCTION PRECISE-PI)
Expected failure: fopcompiler.impure.lisp / FOPCOMPILER-DEPRECATED-VAR-WARNING
Expected failure: full-eval.impure.lisp / INLINE-FUN-CAPTURES-DECL
Invalid exit status: info.impure.lisp
Invalid exit status: packages.impure.lisp
Invalid exit status: threads.impure.lisp
Invalid exit status: timer.impure.lisp
(defun foo ()
(probe-file #p"/home/stassats/lisp/impl/sbcl/tests/parallel-fasl-load-test.fasl"))
(loop repeat 10 do
(sb-thread:make-thread (lambda () (loop (foo)))))
(loop repeat 10 do
(sb-thread:make-thread (lambda () (gc))))
;;;; IR2 component: "PUSH"
entries:
L1954: (SB!C::TOP-LEVEL-FORM NIL)
TNs: 160 local, 80 temps, 18 constant, 6 env, 0 comp, 17 global.
Wired: 183, Unused: 4. 19 blocks, 145 global conflicts.
IR1 block 11 start c31
cleanup :BLOCK
start stack: dv20
31> bind SB-C::CLAMBDA (LABELS R :IN F57) (X) :KIND :ASSIGNMENT
end stack: dv20
successors c32
cleanup :BLOCK
IR1 block 10 start c32
cleanup :BLOCK
(def-ir1-translator catch ((tag &body body) start next result)
"CATCH tag form*
Evaluate TAG and instantiate it as a catcher while the body forms are
evaluated in an implicit PROGN. If a THROW is done to TAG within the dynamic
scope of the body, then control will be transferred to the end of the body and
the thrown values will be returned."
;; We represent the possibility of the control transfer by making an
;; "escape function" that does a lexical exit, and instantiate the
;; cleanup using %WITHIN-CLEANUP.
diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp
index 539642a..b9e0972 100644
--- a/src/compiler/ir1opt.lisp
+++ b/src/compiler/ir1opt.lisp
@@ -1903,7 +1903,7 @@
((let ((use (lvar-uses arg)))
(when (ref-p use)
(let ((leaf (ref-leaf use)))
- (when (and (constant-reference-p use)
+ (when (and nil;(constant-reference-p use)
@stassats
stassats / dra
Created November 9, 2017 00:04
(in-package :clim-demo)
(define-application-frame dragndrop ()
()
(:pointer-documentation t)
(:panes
(interactor :interactor)
(scratchpad :application :display-time nil :height 600 :scroll-bars nil)
(scratchpad2 :application :display-time nil :height 600 :scroll-bars nil))
(:layouts