search for: bd424e82d96ddb7b9e67c5e51cdcc5ec

Displaying 1 result from an estimated 1 matches for "bd424e82d96ddb7b9e67c5e51cdcc5ec".

2017 Dec 16
2
Replace call stack with an equivalent on the heap?
...an clang certain examples, such as the ackermann function. However, from reading their respective IRs (Cmm for GHC and LLVM for clang), I don't really see much of a difference. Here is a link to the numbers. (n, m) are the parameters to the ackermann function <https://gist.github.com/bgamari/bd424e82d96ddb7b9e67c5e51cdcc5ec> One major difference is that GHC uses a "stack-in-the-heap", in the sense that the a is a chunk of heap memory that functions effectively as call stack. It is managed explicitly by GHC. GHC does not use the native call stack _at all_. This is to implement continuation passing, in a s...