Search
Thursday, 8th of June 2023, 14:31:53 UTC
20:05:31
Krystof
I expect when writing tests for an area that's been basically uncovered by tests for ~20 years to find bugs
20:06:15
Krystof
but unread-char with :io streams (and, admittedly, newline conversion) triggering heap exhaustion...
20:06:22
Krystof
I can see why it happens, but still
20:47:36
qhong
How to turn on immobile code and symbol on SBCL and how to see if it's on?
20:47:58
qhong
I don't have :IMMOBILE-SPACE on *FEATURES*, but (sb-kernel:immobile-space-obj-p #'rplacd) => T, not sure will it move
20:52:51
Krystof
check sb-impl:+internal-features+
20:54:27
qhong
oh I have :IMMOBILE-SPACE, thanks!
20:54:51
qhong
Does that mean all symbols don't move? I suspect some moved...
20:57:41
qhong
Indeed, (sb-kernel:immobile-space-obj-p 'item) => NIL
20:58:39
qhong
Anyway to control whether symbol move?
20:59:55
|3b|
you don't really want /all/ symbols immobile in general, since you will accumulate gensyms indefinitely
21:00:54
qhong
|3b|: Is there a dynamic variable to control it (say during a particular READ) then? Or all INTERNed symbol. I only use INTERNed symbols.
21:02:04
|3b|
looks like you can set a build option to make all symbols immobile
21:06:31
qhong
How to set the build option?
21:07:05
qhong
make.sh --with-immobile-symbols I guess...
21:13:29
qhong
Shinmera: I'm writing a GC using SBCL, for teaching purpose
21:14:14
qhong
The only reference my own heap has into SBCL heap is functions and symbols. So just need to make them not move, then it works TM
21:14:34
Shinmera
you could pin them, instead.
21:14:58
qhong
Can I pin them indefinitely? Or just for a dynamic extent? I suspect the latter
21:16:04
moon-child
(make-thread (lambda () (with-objects-pinned ... (sleep forever))))
21:16:34
Shinmera
just look at the source and figure it out.
21:16:47
qhong
The source look like dynamic extent only
21:40:54
qhong
Hmm, if now SBCL does not move anything where am I getting this #<unknown immediate object, lowtag=#b1101, widetag=#x6D {E40000006D}> from...
22:36:05
qhong
oh silly me. I used host READ
22:38:52
qhong
ok, now my interpreter manage its own memory and can run DEAD-LOOP! for ever!
2:20:27
|3b|
(setf fdefinition) of inline functions seems to confuse sbcl
2:20:51
|3b|
The value #<SB-FORMAT::FMT-CONTROL "The result type from ~A:~% ~/SB-IMPL:PRINT-TYPE/~%conflicts with the definition's result type:~% ~/SB-IMPL:PRINT-TYPE/"> is not of type STRING when binding SB-C::FORMAT-STRING
2:20:58
|3b|
when compiling a call to it
2:21:54
|3b|
(very simple functions that just return a constant, which i assume is what it was trying to say didn't match)
Friday, 9th of June 2023, 2:31:53 UTC