Until the last week, I was fixing some tests for the decompiler. This week, I am starting to decompile the complete image.
To do that, I take a method compiled with the NewCompiler. I decompile it to an AST and recompile it to a CompiledMethod, then I reinstall the method inside the class.
It is necessary to take a method compiled with the NewCompiler because the NewCompiler does some optimization that the decompiler know.
I do this for all the methods in the image.
This helps to find a lot of bug.
At the beginning I had 37 tests now I have 71 tests.
The decompiler still don't work but only for a few methods.
This week I will finish to fix the decompiler(for the old block).
I also need to decompile with the block closure.
The next things to do will be to implement a primitive for BlockClosure>>value and more generally work on performance.