libera/#sbcl - IRC Chatlog
Search
20:12:15
stassats
weird, disabling MACH_EXCEPTION_HANDLER doesn't work on roseetta, but works natively
20:14:38
stassats
i can see rosetta not emulating something properly, but not scavenging something is strange
20:48:56
stassats
ok, now is it specific to darwin, darwin rosetta? i think the assumption that the registers are on the stack is not guaranteed, yet every other OS works ok
22:16:47
stassats
maybe i should get a charger for my x86-64 macbook, to at least know if i'm fighting rosetta
22:45:39
stassats
hmm, i'm either getting -31 from thread.alien-stack-pointer or it gets overwritten on the stack
22:49:20
stassats
i didn't have the courage of reimplementing it form arm64, and normal signals work fine here
22:49:37
stassats
and they work fine on github actions, but i kinda like having sbcl working on rosetta
22:50:44
stassats
and there's still a possible race condition or two, as you can't truly mimic sigmask
22:53:24
stassats
and it breaks some implicit assumptions, like sigcontext not allocated on the stack, so that's interesting, even if not applicable to other oses at the moment (but maybe in the future?)
23:37:51
karlosz
right, though i think i found a suboptimality using immediate-constant-sc over zero-sc and null-sc
23:38:17
karlosz
i tried it with riscv and i remember using null-sc and zero-sc saved more bytes than with immediate-constant-sc
23:38:18
stassats
looking at the diff for immediate-constant-sc, i highly doubt you want to go the null-sc route
23:40:17
karlosz
i'll ignore the question of null-sc for now and try to see if i can extract more savings
23:40:44
karlosz
null-sc saves a few bytes everytime someone writes a generic (if ... ... ...) though
23:48:41
stassats
or something is being unwound incorrectly, but how does the binding stack gets the right tls number and the right looking value
0:04:00
karlosz
just needed to load-immediate to treat null and symbols specially like on other backends
0:21:16
karlosz
some of the move vops in the x86 backend are averse to reusing load-immediate for whatever reason
0:22:06
karlosz
i think by just using null-tn to optimize load-immediate and then using load-immediate more aggresively i've saved a lot of space
0:45:43
stassats
if that's some fundamental problem with rosetta, unable to unwind from syscalls, then i can live with that