Search
18:19:48
stassats
the disassembler seems to be borked
18:20:27
stassats
maybe it got fixed already
18:50:44
stassats
how can (WAIT-ON-SEMAPHORE SEMAPHORE-NOTIFICATION LP-1038034) be Unexpected success and Expected failure at the same time?
20:55:49
quadresce__
What was sb-vm:instance-header-widetag replaced with, if anything?
20:57:13
quadresce__
Just sb-vm:instance-widetag?
21:13:48
stassats
quadresce__: why are you asking?
21:17:11
quadresce__
stassats, because I had code that broke that depended on it
21:17:52
stassats
why's your code depending on such internals?
21:19:06
quadresce__
because such internal is exported and also because I'm using it to discriminate objects in a sb-vm::map-allocated-objects call
21:19:53
stassats
it's exported not for you
21:20:27
quadresce__
ok, nix the "is exported" as a reason, then
21:20:49
stassats
but typep in map-allocated-objects would give you the same thing
21:23:03
quadresce__
stassats: what would I use to discriminate sb-vm:code-header-widetag with typep?
21:23:28
quadresce__
or even sb-vm:funcallable-instance-widetag?
21:24:57
quadresce__
all of this is SBCL-low-level hackery inspired alastair. I of course don't expect it to be supported by you folks.
21:25:42
stassats
sb-kernel:code-component
21:26:10
stassats
well, it won't make your code any more supported
21:26:52
quadresce__
not asking for it to be more supported
21:27:23
quadresce__
I don't expect SBCL devs/maintainers to support random things for my application
21:27:57
quadresce__
I want a tree shaker, and SBCL devs have already expressed non-interest in building that.
21:28:06
quadresce__
"tree shaker" or some similar idea
21:29:04
quadresce__
wild wild west of open source
21:30:45
quadresce__
can't pay anybody, can't get anything i want done :D
21:31:45
stassats
each year there's no tree shaker implemented the hard drives get even bigger
21:32:06
stassats
so, the strategy is just to never implement it
21:32:08
quadresce__
maybe im not optimizing disk space, but stealability
21:32:29
stassats
besides, if you want more RAM, the GC is atrocious
21:34:49
quadresce__
M-. didn't work for code-component, for me
21:35:31
stassats
but M-. is in fact broken
21:39:20
stassats
in (defun a () (labels ((b ())) (b ))) A is mislocated
21:43:03
stassats
and the form-number is wrong, character-offset is corcet
21:52:42
stassats
ok, apparently, the local function now gets a correct form number
21:52:54
stassats
but it's used for the main function for some reason
21:56:06
stassats
because SB-INTROSPECT::DEBUG-INFO-DEBUG-FUNCTION returns bun
21:57:46
stassats
because SB-DI::FUNCTION-START-PC-OFFSET does
21:58:55
stassats
because SB-DI::fun-word-offset does
22:00:23
stassats
don't tell me it's broken across all the backends
22:05:14
stassats
now to remember what it used to do
22:09:15
stassats
ok, i think just need to mask off some other data
22:12:03
stassats
but the high bits appear to always be #b100000001100000000001100000011
22:12:30
stassats
(sb-kernel:make-lisp-obj #b100000001100000000001100000011) => #<LAYOUT for FUNCTION {20300303}>
22:13:57
stassats
as much i suspected, but now i need the constant to mask this off
22:15:43
stassats
(defconstant sb!vm:function-layout (logior (+ immobile-space-start (* 3 256)) instance-pointer-lowtag)) that's a very interesting definition
22:16:48
stassats
i guess there's no way around that
22:48:00
stassats
ok, M-. back to being sane
22:55:34
stassats
but slime breakage doesn't stop at this, no