I understand the goal of trying to reuse instructions - an 'iadd' is the
same as any other 'iadd'.  However,  one 'goto 50' is not the same as
another 'goto 50' due to the way Targeters are implemented.  If branch
instructions are reused, then only one entry gets put on the Targeter list.
So when some api is used to modify the instruction list and location 50
becomes location 52 ONLY ONE of the branches gets updated. A very bad thing.
So unless you modify the hash to special case branch instructions (and there
might be other instructions needing special treatment as well) its broken.
We fixed it by simply commenting the hash out to make things like they used
to be and all works great.

Which takes us to another question I was going to ask - is there a BCEL test
suite?  'mvn verify' is ok for build verification - but it doesn't begin to
cover the bases of what the api can do - especially in the area of code
modification.

Mark

> -----Original Message-----
> From: Emmanuel Bourg [mailto:emmanuel.bo...@gmail.com] On 
> Behalf Of Emmanuel Bourg
> Sent: Monday, January 26, 2015 4:14 PM
> 
> > I was surprised by 'U' as that change had a huge side 
> effect, possibly due to a design flaw in how Targeters work; 
> I was unable to find any discussion in your archives.
> 
> Could you elaborate a bit on this change?
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to