2014-09-26 13:58 GMT+02:00 Henrik Johansen <[email protected]>:

>
> On 26 Sep 2014, at 9:08 , Esteban Lorenzano <[email protected]> wrote:
>
> >
> > On 26 Sep 2014, at 09:04, Craig Latta <[email protected]> wrote:
> >
> >>
> >> Hi Marcus--
> >>
> >>> Honestly, I do not get why [showing decompiled code in the browser]
> >>> was useful, ever.
> >>
> >>    Some of my debugging sessions require using the virtual machine
> >> simulator. I find browser-presented decompilation useful for finding my
> >> place in a method I'm running that way. It's also useful for learning
> >> about how the compiler and virtual machine work.
> >
> > so is a good functionality for putting in plugin, not a standard feature
> of nautilus: if working with vm simulator, if debugging it, if…
> >
> > Esteban
>
>
> I've also found it useful when doing optimization work on normal code.
> If you're not entirely certain what the compiler is capable of, it helps
> you determine things like wether temps are automatically moved to the
> smallest enclosing scope, whether a certain function gets inlined, etc.
> I imagine with Sista, it becomes an even more essential tool for checking
> what the compiler actually produces. Building and debugging something like
> that without a decompiler also seems like a whole lot of pain...
>

Hello,

Two decompilers are available in Pharo 3, one for each compiler. They both
can decompile 99% of Pharo methods.

I enhanced one of them to decompile simple sista methods. However, the
optimizer may generate code that cannot be expressed at source level, so
some method cannot be decompiled.

I am not sure the right place for decompiled sista method is in nautilus.
In nautilus the user now sees the source code of the non optimized method,
and if he edits it and compiles it, the optimized method is removed from
method dictionary. It would be strange to have decompiled code not matching
the source code. However, I have my own tools using the decompiler to debug
sista.

>
> Cheers,
> Henry
>

Reply via email to