On Jul 16, 2013, at 5:10 PM, Udo Schneider <udo.schnei...@homeaddress.de> wrote:

> 
> 
> On 16.07.13 16:39, Marcus Denker wrote:
>> In 3.0 we have two nice additions:
>> 
>> 1) you can easily create CompiledMethods from RB ASTs
> Looks nice but isn't usable for me as I don't have an AST.
> 
>> 2) For low level stuff there is IRBuilder. IR is a bytecode-level 
>> representation
>> (CFG) that abstracts away from the details yet is very close.
> Now we're talking!!! This looks exactly like what I need.
> 
> Just a theoretical question: Can every sequence of bytecodes be decompiled to 
> a Smalltalk method? I doubt it but wanted to ask nevertheless.
> 
No. A decompiler has to be very specific for the code generated by the compiler.

For Pharo3, we even opted to not support decompilation at all… (IR -> AST). We 
will instead save a higher-level representation that has much 
more information (e.g. names of variables). For deployment, people can strip 
the names, giving them the same "obfuscation" the decompiler
provides now.

BC-> IR decompilation always works.

        Marcus


Reply via email to