if-decompiler
if-decompiler copied to clipboard
Decompile Glulx storyfiles into C code
Thank you for bringing the Relooper problem class to my attention (and indirectly the [Stackifier](https://medium.com/leaningtech/solving-the-structured-control-flow-problem-once-and-for-all-5123117b1ee2) problem class). . I had previously assumed that bytecode was "always" a 100% decompilable substitute...
Catch the stack overflow message and display one alerting the user to the stack size setting instead. This will probably mean switching from a thread to a child process.
Adjacent branch instructions could be combined before identifying basic blocks, to simply the output and improve performance. However I'm not sure if Inform actually compiles many adjacent branch instructions?
The most common Glk functions (those in `perform_glk`) could be directly output. Match on the function ID and number of arguments so that wrong argument number calls will fall through...
Add more specific reasons to the FunctionSafety enum, and add an option to output a file list each function and its safety status.
Currently nodes that are not part of a loop scc are not pulled out (ie, made a next edge) unless they are not dominated by the loop header. This means...
Optimise stack operands. Easy to do within a basic block, but across block boundaries would probably require some sort of phi function?