freenode/#clasp - IRC Chatlog
Search
14:20:26
Colleen
Bike: karlosz said 10 hours, 5 minutes ago: local call stuff is finally in. i decided to push it without the fastcc stuff because it seems like it doesn't make much of a difference but will try to actually figure how to make that work
14:46:50
Bike
i asked t his before, but do you know what could be happening that backtraces display the C++ified fnction names and no arguments?
15:33:58
docl
thanks yonkunas! I was using the outdated docker image from https://hub.docker.com/r/drmeister/cando/ before, this one looks a lot more recent. I'm interested in nanotech in general, kind of want something to show off to my friends at this point. the spiroligomer stuff looks really interesting.
15:52:09
drmeister
Since I'm on this weak MacBook Pro I've been working remotely a lot using an iMacPro (bigmac) that I have on my desk at home. I use the ThirdLaw VPN to access it using: http://172.235.11.1:8888/lab/workspaces/auto-e (for example) as the URL.
15:52:25
drmeister
It's working very well and very smoothly. I also do development by connecting in with slime. But I need to be careful to have the same source on this local machine as I have on bigmac.
15:52:48
drmeister
I usually have an ssh session opened into bigmac as well running emacs. I can connect into the swank server of the cando running the kernel using that and then I'm editing source on bigmac. It's a workable development environment.
16:10:54
drmeister
Ok - then (core:safe-backtrace) <<- a more raw backtrace that shows everything - not just what clasp thinks are lisp frames...
16:14:11
drmeister
Damn - I can't connect to the process with lldb because Apple has nerfed their operating system.
16:17:30
drmeister
Here is the relevant part of the backtrace generated using lldb and then symbolicating it with jitted symbols.
16:17:57
Bike
i also tried tracing interpolate-function, which is what does inlining, and it's not being called
16:22:25
drmeister
Ok, I'll generate the llvm-ir and look at it. It's not being generated at the moment.
16:24:29
karlosz
i forgot to mention, but the new changes now make it so we use sjlj for the lexical non local exits in Eclector, so there is no more unwinding for terminate-token in particular
16:27:18
Bike
i had to merge your changes with mine, so i suppose i could have screwed it up somehow, but it seemed pretty straightforward
16:27:37
karlosz
the l_... versions of the functions are just the "inner" functions that get called by the external entry point
16:27:54
karlosz
i was trying to make it so that the l_... versions of the function are fastcc but couldnt figure how
16:28:15
karlosz
as you can see a lot of the times both the l_ version and the non-l version exist of those exist in the backtrace
16:30:19
karlosz
because i marked the inner functions private i think that gives llvm liberty to automatically make the functions i was trying to make fastcc
16:32:10
Bike
karlosz, different functions in the same file should be in different bir modules, right? they're not local calls
16:33:21
drmeister
I was expecting a call chain line REPL-[regular-call]>AAA(ccc)-[tail-call]>AAA(fastcc)-[regular-call]>BBB(ccc)-[fast-call]>BBB(fastcc)...
16:35:13
drmeister
How can this even work? I thought this was impossible - a tail call to a varargs function???
16:35:35
Bike
ok well iirc llvm can ignore the tail annotation, so they wouldn't be actual tail calls
16:39:56
drmeister
Can you guys figure out what is going on? Is this not an abomination? %3 = tail call { i8*, i64 } (i8*, i64, i8*, i8*, i8*, i8*, ...) %entry-point-gep-gep(i8* %2, i64 1, i8* %0, i8* undef, i8* undef, i8* undef), !dbg !33