[squeak-dev] Re: [Pharo-project] code coverage

Marcus Denker marcus.denker at inria.fr
Fri Feb 22 08:44:36 UTC 2013


On Feb 21, 2013, at 8:52 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Hi All,
> 
>     anyone have any bytecode-to-bytecode transformation tools for
> doing basic-block resolution coverage?
> 

Opal can represent the byte code in a control flow graph.

This was used for ByteSurgeon, we should revisit that as soon as
the Compiler is in the image.

Of course for basic blocks, one need to take care about where
to add at the start of the block. Lots byte codes (creating tempVectors,
pushing the nil for the temps…) that have no semantic meaning in 
Smalltalk. 

In the long term I would like to get rid of byte code as a visible
artefact for reflection, though. It's just too low level.

Especially the current byte code set is very low level. You can not
even tell if a temp is a real temp without resorting to the full compiler
chain. (Which shows that it is an execution level artefact, not a reflective
one).

I think moving the reflective model to something closer to the language
is the way to go in the long term.

	Marcus



More information about the Squeak-dev mailing list