|
From: Nicholas N. <nj...@ca...> - 2002-11-20 15:28:03
|
On Wed, 20 Nov 2002, Josef Weidendorfer wrote: > > Another way to extend basic blocks is to inline direct calls in the same > > way, eg: > > > > [code] > > JMP-c 0xX > > > > becomes > > > > [code] > > [code for block at 0xX] > > > > Problem with that is that it screws up function-entry detection for skins > > -- currently to detect function entry they can call > > VG_(get_fnname_if_entry)() at the start of a basic block to determine if > > it's the first basic block in a function. With this optimisation they'd > > have to do it for every x86 instruction, urgh. > > Is this really a problem? > I thought VG_(get_fnname_if_entry)() is to be called at instrumentation time? > And BB chaining should be done *after* skin intrumentation? I'm talking about merging together more than one basic block into a larger basic block. In this new larger basic block, the instructions from the start of the called function will appear in the middle of the basic block. Does that make the problem clearer? N |