freenode/#clasp - IRC Chatlog
Search
13:31:55
scymtym_
beach: no, everything is fine. we agreed that you would evaluate the proposed protocol w.r.t. suitability for second climacs when you get to it. i linked the issue because it is related and i thought you might find it interesting
13:32:43
scymtym_
beach: i would still say there is no rush since we put a disclaimer at the top of the README
13:34:53
beach
The new "purpose" is to do less coding, more specification, more delegation, and more of helping others getting their work done.
13:37:39
scymtym_
sounds like an effective approach. i hope it is as much fun as writing the code yourself
13:47:15
Bike
drmeister: it seems like compiling bclasp in merge-dev-cst is really slow. like, this is before cleavir. do you know what's up?
13:56:13
beach
Bike: What criteria do you currently use in order to determine whether inlining is possible?
13:58:51
Bike
a function can be inlined if it doesn't close over any functions that escape, it doesn't call itself even indirectly, and it doesn't escape. probably the last isn't necessary
14:01:42
Bike
i also used to have that the function couldn't close over anything. you were surprised by that and i realized it was unnecessary
14:04:22
beach
Now, do we have a reliable analysis to determine whether a function creates a closure that escapes?
14:07:08
Bike
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/HIR-transformations/escape.lisp#L44-L65 here's my analysis
14:08:22
beach
In line with my new "purpose in life", I'll try to pay more attention and read more of your code in the future.
14:09:01
Bike
Which just follows assignments until it finds something else, and determines that a function "escapes" if it's anything other than a funcall or multiple value call
14:09:44
beach
In the near future, I am thinking I should read and try to understand your code. Would it be OK then if I start asking you questions about it?
16:32:29
Bike
drmeister: speaking of the condition printing stuff - if i do %a in bformat will that be like ~a?
17:46:59
drmeister
Bike: No - there is a short list of format specifiers that translate to C++ boost::format specifiers - I don't think ~a -> %a is one of them.
17:47:38
Bike
Just wondering if we could fix that thing where errors during build don't display correctly until you quit.
19:50:14
karlosz
is there a way to tell if there's a path between two instructions? following the directed edges
19:53:08
karlosz
apparently the catch instruction doesn't necessarily have to dominate all instructions before its two branches merge again
20:04:50
karlosz
is it still necessarily true that catch-instruction dominates everything that succeeds it?
20:09:54
karlosz
i mean like a case where you have some directed edge into a block succeeding catch but not itself dominated by catch
20:10:29
Bike
you need to have this catch close instruction at the point the block is no longer valid, right?
20:10:45
karlosz
im inserting catch close instruction at the predecessor dominated by the first successor of catch
20:11:00
karlosz
but thats not working for some convoluted cases, hence why i asked by using the weaker path condition instead
20:15:12
Bike
I mean, if you have like (block inner (return-from outer)) how does the inner block get closed?
20:15:13
karlosz
what i have works for the majority of non local exits. this is some voodoo coming from restart case
20:17:33
karlosz
right, this catch close is just for deallocating the block frame allocated onto the stack
23:51:41
drmeister
::notify karlosz Could you compile alexandria and time it? I'm dying to compare timing values between Clasp and your setup.
0:32:56
Colleen
karlosz: drmeister said 41 minutes, 15 seconds ago: Could you compile alexandria and time it? I'm dying to compare timing values between Clasp and your setup.
0:34:06
karlosz
caveat: this is with cleavir compiled with clisp. it shouldn't matter too much, but im unable to use cleavir entirely compiled with cleavir at the moment because it segfaults while self compiling somewhere in generate ast
0:37:44
karlosz
theres a lot of low hanging fruit on my end in terms of bringing the compile time down
0:38:12
karlosz
using a real basic block representation would shave a lot of linear lookups for successors
0:40:01
karlosz
in fact ill go ahead and implement that right now to see how much of a difference it makes...
1:09:48
karlosz
partially cleavir compiled cleavir and clisp compiled cleavir dont seem to differ much in terms of compile time
1:17:22
drmeister
karlosz: Could I get a copy of what you are running at some point to compare to clasp?