Skip to content

Instantly share code, notes, and snippets.

(sb-c:defknown simd-ref ((simple-array double-float (*)) sb-int:index)
(simd-pack double-float)
(sb-c:movable sb-c:flushable sb-c:always-translatable)
:overwrite-fndb-silently t)
(define-vop (simd-ref)
(:translate simd-example::simd-ref)
(:policy :fast-safe)
(:args (array :scs (descriptor-reg))
(index :scs (any-reg)))
(defun test (a b)
(declare (optimize speed (debug 1)))
(labels ((fun ()
10))
(if a
(if b
(+ (fun) 2)
(fun)))))
(defun test (a b)
diff --git a/src/assembly/master.lisp b/src/assembly/master.lisp
index 24393760f..b5d3186f8 100644
--- a/src/assembly/master.lisp
+++ b/src/assembly/master.lisp
@@ -4,6 +4,7 @@
(make-pathname :type "lisp"))
:verbose nil :print nil))
'("src/assembly/target/tramps"
+ "src/assembly/target/runtime-rtns"
"src/assembly/target/assem-rtns"
(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