[Newcompiler] The decompiler for the old block is ready to test
Mathieu Suen
mathk.sue at gmail.com
Sat Nov 10 21:56:27 UTC 2007
On Nov 10, 2007, at 10:30 PM, nicolas cellier wrote:
> While inlining repeat loop is a very easy task, having the
> decompiler understand that construct is a nightmare.
> That is because all the logic is in jump:if: while repeat loops
> require only a jump: ...
> So I think i should have a look at Mat's work
Yeap! but the hardest part is optimization.
This because when you found a way to decompile it you break how an
other decompiles.
I think what could help is to have a bytecode parser.
And you can write a grammer like:
MessageSend:
(push)* send;
Block:
pushThisContext sendBlockCopy jumpOverTheBlock statements;
...
>
> Nicolas
>
> Stéphane Ducasse a écrit :
>> Begin forwarded message:
>>> From: Mathieu Suen <mathk.sue at gmail.com>
>>> Date: 10 novembre 2007 01:28:21 HNEC
>>> To: "The New Compiler, AST, IRBuilder, Closures..."
>>> <newcompiler at lists.squeakfoundation.org>
>>> Subject: [Newcompiler] The decompiler for the old block is ready
>>> to test
>>> Reply-To: "The New Compiler, AST, IRBuilder, Closures..."
>>> <newcompiler at lists.squeakfoundation.org>
>>>
>>> Hi All,
>>>
>>> I have recently made some changes in the decompiler and now the
>>> image can decompile.
>>> This time the decompiler tests the equality of the method
>>> decompile and the original method to see if they match.
>>> If you take a 3.10 image all the image could be decompiled.
>>> (Except for method with undefined class. see
>>> ScriptLoader>>unloadToolPlus for an example)
>>>
>>> The latest version can be load either from the univers browser or
>>> from squeaksource:
>>> http://www.squeaksource.com/NewCompiler
>>>
>>> If you load from squeaksource we provide you a package loader.
>>> Load the NewCompilerLoader and execute:
>>>
>>> NewCompilerLoader new loadPackages.
>>>
>>> This loads all the needed dependencies
>>>
>>> Remember the dependency are:
>>> - NewParser
>>> - AST
>>> - SmaCC
>>> - RefactoringEngine
>>>
>>> Mth
>>>
>>>
>>>
>
>
Mth
More information about the Squeak-dev
mailing list
|