Peter Schachte

Results 52 comments of Peter Schachte

It wouldn't be too hard to handle this for loops, but infinite recursions have the same problem. That's not *too* hard to handle, either, but it requires a fixed point...

We'll want to do some benchmarking of this to explore different heuristics for which allocations to merge. One interesting heuristic would be to merge allocations where the address of one...

Interesting. Can you try a compute-bound process and see if that behaves differently? Could it be a VM issue?

Hi Zed, I believe the call to GC_INIT is made from the generated main() function; if not, that’s where it should be created. If it’s generated as LPVM code and...

I don't know what's involved in creating a pre-commit test on github, but something as simple as `egrep ' $' src/*.hs` finds all lines ending with spaces in Haskell code....

Actually, it is possible to inline a mutually recursive proc. Suppose p calls q an q calls p. If you inline the call from p to q, you have a...

Inlining of tail recursive procs could be made to work if the inlining is done at the LLVM compilation level, rather than when optimising the LPVM. This would essentially turn...

> One issue with a structure such as `[1,2]` is that the structure is not flat, and would have internal pointers, ala `?t0 = [2 | []]; ?t = [1...

> Another very simple optimisation that we could implement is to pull multiple heap allocations together, allocating one large structure, and using segments of the allocated memory for each of...