On Feb 22, 2013, at 9:16 AM, Goubier Thierry <[email protected]> wrote:
> Le 22/02/2013 07:23, Marcus Denker a écrit : >> >> On Feb 21, 2013, at 9:52 PM, Frank Shearar <[email protected]> wrote: >> >>> On 21 February 2013 19:52, Eliot Miranda <[email protected]> wrote: >>>> Hi All, >>>> >>>> anyone have any bytecode-to-bytecode transformation tools for >>>> doing basic-block resolution coverage? >>> >>> Is it possible that Jejak [1] might vaguely fit this bill? It's a >>> tracing tool, but maybe one could hack something on the side to turn >>> it into a coverage tool? >>> >>> Certainly I've wanted a fine resolution (branch/block level) coverage >>> tool for a long time. >>> >> >> In Pharo 3.0 we will add Opal to the release (with the old Compiler to be an >> unload able package, to be killed as the first action in 4.0) > > Yes, yes, I want Opal :) > >> This will allow *a lot* of very very interesting things to be done. > > From your doc, I think there are many hooks to explore and change the > generated bytecode with Opal, am I right ? > Yes, it has a control flow graph of byte code instruction objects. These can be easily explored and there an API for adding / removing nodes. We should get the high-level byte code transformation API working again, too. http://scg.unibe.ch/archive/papers/Denk06aRuntimeByteCodeESUGJournal.pdf But in general, I am not that of a fan of byteocode anymore. It's just too low level as a structural representation of code. Marcus
