libera/#clasp - IRC Chatlog
Search
13:25:55
Bike
"It appears Apple did some changes to the exception handling ABI compared to x86_64" for god's sake
14:41:43
Bike
...and now that i see the bytecode build actually not crashing for a while, i'll need to disable the messages again, now won't i
15:04:56
Bike
::notify karlosz the push strategy seems to solve the nlx bug as expected. gonna go with that for now in clasp until we come up with something smarter
15:05:37
Bike
::notify karlosz for local-unwind we could have (LOCAL-ENTRY N) save sp to local N, and then (LOCAL-EXIT-8/16/24 N LABEL) load the sp and jump
15:11:52
Bike
it's still compiling itself, and now i'm hitting something where the bytecode compiler works fine, but the bytecode-compiled bytecode compiler does not
17:04:07
Colleen
karlosz: Bike said 1 hour, 59 minutes ago: the push strategy seems to solve the nlx bug as expected. gonna go with that for now in clasp until we come up with something smarter
17:04:07
Colleen
karlosz: Bike said 1 hour, 58 minutes ago: for local-unwind we could have (LOCAL-ENTRY N) save sp to local N, and then (LOCAL-EXIT-8/16/24 N LABEL) load the sp and jump
17:05:24
karlosz
BIke: cool that push fixed it. i think its sort of unavoidable unless we change the mv strategy in general, although the compilation strategy in the main cvm branch is more efficient that the one in clasp right now in terms of bytecodes emitted and how much work entry-close needs to do
17:06:45
karlosz
Bike: is there not a smart way we could have LOCAL-ENTRY and ENTRY be the same thing? i'm asking because it would be nice if we could make the decision to have local exits be per exit and not per entry
17:13:44
Bike
that seems inevitable to me, since ENTRY means we have to do whatever setup for NLX to work properly, like setjmp
17:14:32
Bike
and setting up the unwind tables. both of which are what we want to avoid for the local case
17:22:31
Bike
we are doing setjmp and longjmp so we can unwind the frames of any intervening c++ frames, yeah
17:23:29
karlosz
instead of a local exit instruction its probably more convenient to just have a LOCAL-UNWIND <n> instruction and then JUMP
17:24:41
karlosz
whereas NLX sort of needs to have its own control flow instruction because vm implementations may do something more convoluted with the PC