freenode/#clasp - IRC Chatlog
Search
17:39:29
karlosz
so we are at least an order of magnitude faster in terms of compiling real world programs
17:41:06
karlosz
if we make a change like reeanble inline declarations and see the compile time go up heavily we'll know what happened
17:44:15
karlosz
i guess we aren't really messing with the asts and cst-to-ast since hir is sharing those at the moment
17:45:12
karlosz
it would be nice to be able to mess with that stuff somewhat soon in the future though
17:57:37
Bike
deleting blocks if they have no predecessors is basically not enough, i wonder if something more sophisticated involving dominance is required
17:59:25
karlosz
and make sure that at the same time we note which blocks were removed from the iblocks slot
17:59:54
karlosz
essentially - find unreachable blocks, instead of GCing the dead code we still try to clean up the unreachable blocks
18:00:18
Bike
oh, yeah, i also changed refresh-local-iblocks so that if it finds unreachable blocks it cleans them up properly
18:01:09
karlosz
but yeah anytime theres a chance you couldve disconnected a portion of the graph you probably need to do a full dfs
18:01:44
karlosz
barring knowing more about the local graph structure around the piece you are disconnecting
18:02:49
karlosz
when you disconnect a portion of the graph, instead of running refresh iblocks immediately
18:03:15
karlosz
and it can be done on demand by the next thing that actually needs the correct reachable iblocks set
18:03:56
karlosz
its a bit of complexity but i think it could be worth it if we end up doing major graph surgery a lot
18:05:21
karlosz
so maybe caching that order would be preferred as its not any more costly to compute either
18:15:50
Bike
question: in the local call analysis, to check that the function is in call position, you do (or (eq use (callee use)) (not (member reader (rest (inputs use)))))