freenode/#sbcl - IRC Chatlog
Search
21:17:14
pfdietz
Suggestion: at the end of building sbcl, unexport all symbols from "internal" packages.
21:18:04
|3b|
ACTION suspects that would make development annoying if there wasn't an easy way to undo it
21:18:32
pfdietz
No failures in random tests since yesterday, btw. And my workroom is toasty from four cores running them.
21:20:23
stassats
pfdietz: yeah, that class of bugs should have disappeared, just an instance of incomplete search and replace
21:25:20
|3b|
ACTION is mostly talking about things like recompiling internal functions from slime, etc
21:37:30
pfdietz
341 files, 2184 occurrences of uses of sb-.*:: (as seen by grep, excluding .sh and .html files)
21:42:21
pfdietz
31 internal packages are touched: sb-aclrepl sb-alien sb-assem sb-bignum sb-bsd-sockets sb-bsd-sockets-internal sb-c sb-cga sb-cover sb-debug sb-di sb-disassem sb-ext sb-fasl sb-gray sb-impl sb-int sb-interpreter sb-introspect sb-kernel sb-mop sb-pcl sb-posix sb-pretty sb-rt sb-sprof sb-sys sb-thread sb-unix sb-vm sb-win32
21:42:46
pfdietz
Not all those are internal, but each of those should be a reference to at least one unexported symbol
22:01:51
stassats
this one is approximately zero cost (just an additional unwind-protect at thread start up)
22:03:11
stassats
b) actually using unwind-protect to clear out the closed over block in (funcall (catch 't (block nil (throw 't (lambda () (return))))))
22:06:03
stassats
for b) maybe i can piggy back on the previous unwind and ask it to "please zero out this"
22:15:20
phoe
1.4.12 changelog: minor incompatible change: internal SBCL symbols are now inaccessible.
22:20:34
phoe
maybe changing emit-skip to %emit-skip would be a key to patching^Whacking around the current stmx issue
22:21:08
phoe
but it's too late for me to think about it now - I'll go to sleep for now and try in the morning
22:26:39
AeroNotix
I tried using %emit-skip, didn't work. Let me try that again though. I had the same error when using %emit-skip. Trying again.
22:31:34
pfdietz
67 internal symbols referenced in QL systems do not actually exist in current SBCL (cause package lock violation when I try to read them).
22:36:28
pfdietz
Hmm. Many references to symbols use :: when the symbol is actually external to its home package.
22:53:55
stassats
(defun foo () (block nil (sb-thread:make-thread (lambda () (return))))) => (foo) i can now find the name of FOO
23:25:53
AeroNotix
stassats: %emit-skip seems undefined, even when accessing via :: and unlocking packages. Why is that?
23:27:38
rbarraud
I'm about to prove that for myself... not too far off [OT Trigger warning!11!!] writing my first for my B0rgScheme (soon-to-be-native-metal-x64 hopefully-R7RS Scheme) :-)
23:32:34
rbarraud
Weirdly though, I may be about to move even more southward... maybe like 850 miles / 1400km South...
23:33:39
AeroNotix
stassats: so what's the bigger picture with coming up with a stable API for things like sb-assem, sb-vm etc?
23:33:57
AeroNotix
judging by what's been accomplished with stmx (if it works, I've never used it until today)
23:40:03
AeroNotix
for CL testing in general, you should ask in #lisp for a better answer but I really like rove or prove, but avoid fiveam :)
23:43:07
AeroNotix
oh the whole reason I was looking at stmx was that, couldn't it be possible to use an stm implementation to change how the timer scheduler works in SBCL? As far as I understand it, the timer module has a single threaded scheduler that is woken up every period, locks its timer queue, walks the queue and triggers any timers. The issue being that each invocation of the timer still requires that the timer scheduler
23:43:24
AeroNotix
from reading the implementation the locking is done to prevent multiple threads from accessing the timer queue and adding/removing timers.
23:43:52
AeroNotix
With an STM implementation instead of locks (optimistic concurrency) the scheduler thread and the user threads require no locking
23:45:12
AeroNotix
stassats: no but they make using it a little irksome, hence my questions/issues the other night about unscheduling timer functions that are currently running blocking until the scheduled function has completed
23:50:54
AeroNotix
It's very cool that stmx can even work to begin with and present the API like it does