IRC channel logs


back to list of logs

<wingo>good morning
<civodul>hey Guilers!
<civodul>it's Friday! :-)
<wingo>indeed :)
<wingo>ACTION sent JIT update
<civodul>wingo: why do we emit 'reset-frame' after each 'call'?
<wingo>civodul: we don't do it after every call i think. anyway after a call, it's as if the callee "called" the return address; we don't know how many arguments it passed to the call
<wingo>reset-frame is used when we know that we're resetting the sp to less than what it currently is and to truncate any extra values the callee might have returned
<civodul>i'm asking because on a disassembly i see lots of call/reset-frame sequences, where reset-frame is passed the same number of slots as already available on the frame
<civodul>thinks like: (alloc-frame 10) ... (call x y) (reset-frame 10)
<civodul>it can't hurt, but it's surprising
<wingo>civodul: yes, after a call you don't know where the sp is
<wingo>civodul: because the callee can return as many values as it likes
<wingo>so the reset-frame is necessary. it will usually reset to the value that was initially allocated
<civodul>ah alright, makes sense
<civodul>sometimes on the stack we have SCMs like 0x2000002 (tagged integers), which also happen to be pointers to the heap
<civodul>well, nothing new
<civodul>but it's interesting to see happen for real
<wingo>civodul: interesting indeed :)
<OrangeShark>civodul: sure, I will try and do that this weekend
<civodul>OrangeShark: excellent, thank you
<lloda>wish confirmation dialog to exit the repl. Or have another key (not C-d) to exit w/o confirmation. Or have another key (not C-d) to go up an error frame.
<wingo>aw bummer, sounds like you lost some work :/
<lloda>yeah ;D
<lloda>I went for a walk, so it's all good
<wingo>i kinda want a fibers-based repl using read written in scheme, with readline implemented in scheme :)
***ftknox_ is now known as ftknox
<civodul>wingo: fiiiiiiiixed!
<civodul>crazy stuff
<wingo>that's wild
<civodul>it is!
<wingo>dude congratulations :)
<wingo>that's an amazing friday feeling :)
<snape>civodul: concrats :-)
<civodul>thank you :-)
<civodul>damnit, that's such a relief
<OrangeShark>civodul: good job :)
<civodul>i think it's one of the most terrible bugs i've had to deal with
<civodul>in part because i was not so familiar with the 2.2 code base
<civodul>now to see if it solves other "weird crashes" we've been seeing
<wingo>it's a pretty rough way to learn!
<civodul>yeah :-)
<wingo>the patch LGTM
<civodul>awwwwesome, thanks
<wingo>thank you!!!!
<wingo>we'll think about barriers later, i think at least some compiler barriers are needed here
<wingo>probably atomics on other arches
<civodul>yeah, could be
<civodul>BTW, we could use libatomic_ops in atomics.h
<civodul>but that's a topic for another day
<civodul>going to school see my daughters
<atw>what if had a picture of what a procedure call looked like?
<atw>that might be something I could do
<SahithiYarlagadd>Hi I am working on implementing a spinner for replacing the build messages
<SahithiYarlagadd>Need a small help in calling the procedure
<ArneBab>SahithiYarlagadd: what kind of help do you need?
<daviid>civodul: wooh! congrat wrt 28211, have a nice party all night long! :) before 2.2.4, I wish and hope one of you (maintainers) could find the time to look at bug#29669 and bug#29684, which (once fixed) would turn guile-cv 'usable' (without users to have to patch guile themselves ...), that would really be awesome
<civodul>daviid: no promises, but hopefully i can take a look by then!
<rekado_>civodul: I hope you are still celebrating instead of going back to hack!
<daviid>civodul: understood, thanks
<rekado_>I admire your persistence and determination in squashing this bug.
<civodul>rekado_: i don't admire my productivity though ;-)
<davexunit>civodul: that patch... wow
<davexunit>good work
<civodul>heh thanks
<rekado_>productivity is overrated ;)
<davexunit>guile 2.2.4 will be extra nice because mark reverted a commit that broken floating point optimization
<atw>and it prompted me to look into the VM :)
<ArneBab>the first hit on duck-duck-go for "guile tutorial" is about embedding Guile in a C application. Is that what we want? Should we link from that to a Guile Scheme introduction?