freenode/#clasp - IRC Chatlog
Search
15:55:56
Bike
i think my speed improvements are a bit wrong since they don't account for the case of an enclose-instruction having its users in a lower function which is itself removed
16:00:25
drmeister
Are they just regular slots in the instance - they just happen to point to a shared object, shared across all instances of the class?
16:01:59
Bike
i was going to iterate over the raw instance refs but for class slots i'll probably have to do mop stuff so i guess i'll just always do mop stuff
16:14:59
Bike
well the code isn't correct for my latest change. i noticed the enclose thing while looking into it. since i thought the code wouldn't do that, it's not doing what i think it's doing, so it's probably related to the actual correctness problem.
16:18:04
Bike
having functions like that is the unusual case since it only comes up from LABELS that aren't recursive. i'll have to test with that more
17:33:47
Bike
can't really incorporate the instance #n# stuff because of boot problems. i'll fiddle with it more, i guess.
21:17:39
Bike
i actually did write the code to delete unused encloses properly. so something is definitely wrong
2:01:08
drmeister
Bike: Is there any way to verify equivalence of two programs? Before inlining and after inlining?
2:02:13
drmeister
Something to automatically validate the HIR after inlining - it seems like that would be fantastically useful.
2:02:34
drmeister
This debugging broken code is so painful. You are doing a great job keeping at it.
2:04:02
drmeister
It seems to me that there should be some invariants before and after inlining, like tracing every path from entry to return - the same sequence of instructions (except the funcalls and enclose that were inlined).