New decompiler

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

New decompiler

Kevin Lanvin
Hello everyone !

I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
It has been integated today.
It can decompile a whole image.

The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
If anyone has an idea about how to fix this, let me know.

Thank you !

Kevin Lanvin
Reply | Threaded
Open this post in threaded view
|

Re: New decompiler

abergel
Excellent Kevin!

You’re an impressive stagiaire!

Alexandre


> On Jul 21, 2015, at 5:31 PM, Kevin Lanvin <[hidden email]> wrote:
>
> Hello everyone !
>
> I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
> It has been integated today.
> It can decompile a whole image.
>
> The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
> If anyone has an idea about how to fix this, let me know.
>
> Thank you !
>
> Kevin Lanvin

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: New decompiler

Tudor Girba-2
Great job :)

Doru



On Tue, Jul 21, 2015 at 6:01 PM, Alexandre Bergel <[hidden email]> wrote:
Excellent Kevin!

You’re an impressive stagiaire!

Alexandre


> On Jul 21, 2015, at 5:31 PM, Kevin Lanvin <[hidden email]> wrote:
>
> Hello everyone !
>
> I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
> It has been integated today.
> It can decompile a whole image.
>
> The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
> If anyone has an idea about how to fix this, let me know.
>
> Thank you !
>
> Kevin Lanvin

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: New decompiler

Sven Van Caekenberghe-2
In reply to this post by Kevin Lanvin

> On 21 Jul 2015, at 17:31, Kevin Lanvin <[hidden email]> wrote:
>
> Hello everyone !
>
> I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
> It has been integated today.
> It can decompile a whole image.

Great work, impressive.

> The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
> If anyone has an idea about how to fix this, let me know.
>
> Thank you !

No, thank you !

> Kevin Lanvin

Sven


Reply | Threaded
Open this post in threaded view
|

Re: New decompiler

Clément Béra
Just some precision because this is really good work.

For the past 3 years at least, the existing Decompiler used in Pharo has not been able to decompile correctly all the methods of the Pharo image. We proved it by recompiling all the methods using their decompiled sources: this operation was crashing the image as some methods were installed but not correct.

With Kevin's Decompiler, the image can now be recompiled from decompiled sources, still works fine and all the relevant tests can be run successfully. Hence all the Pharo methods covered by tests or used by normal development process are proven to be correctly decompiled.

Therefore, his Decompiler has proven to be better the the existing one.

I also believe that his Decompiler is overall simpler to understand, but software simplicity and readability is always very subjective and arguable so I let you guys have your own opinion on that matter.

2015-07-21 19:09 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:

> On 21 Jul 2015, at 17:31, Kevin Lanvin <[hidden email]> wrote:
>
> Hello everyone !
>
> I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
> It has been integated today.
> It can decompile a whole image.

Great work, impressive.

> The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
> If anyone has an idea about how to fix this, let me know.
>
> Thank you !

No, thank you !

> Kevin Lanvin

Sven



Reply | Threaded
Open this post in threaded view
|

Re: New decompiler

stepharo
You both did a great job. Thanks for making Pharo a better environment.

Stef


Le 22/7/15 16:02, Clément Bera a écrit :
Just some precision because this is really good work.

For the past 3 years at least, the existing Decompiler used in Pharo has not been able to decompile correctly all the methods of the Pharo image. We proved it by recompiling all the methods using their decompiled sources: this operation was crashing the image as some methods were installed but not correct.

With Kevin's Decompiler, the image can now be recompiled from decompiled sources, still works fine and all the relevant tests can be run successfully. Hence all the Pharo methods covered by tests or used by normal development process are proven to be correctly decompiled.

Therefore, his Decompiler has proven to be better the the existing one.

I also believe that his Decompiler is overall simpler to understand, but software simplicity and readability is always very subjective and arguable so I let you guys have your own opinion on that matter.

2015-07-21 19:09 GMT+02:00 Sven Van Caekenberghe <[hidden email]>:

> On 21 Jul 2015, at 17:31, Kevin Lanvin <[hidden email]> wrote:
>
> Hello everyone !
>
> I've been working for 3 months as an intern in RMoD team to develop a new decompiler.
> It has been integated today.
> It can decompile a whole image.

Great work, impressive.

> The only methods that I can't decompile are Native boost calls because they are based on arguments names, and the name of temporaries and arguments are lost when a method is compiled.
> If anyone has an idea about how to fix this, let me know.
>
> Thank you !

No, thank you !

> Kevin Lanvin

Sven