[ 
https://issues.apache.org/jira/browse/ARIES-669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13044815#comment-13044815
 ] 

Richard Ellis commented on ARIES-669:
-------------------------------------

David,
Firstly, I think it would be helpful to know what problems have been caused by 
the SerialVersionUUID and static_init_* methods. I'd like to know what it is 
about these additions that cause issues so we can avoid similar problems in 
future and so we can potentially identify other places in the proxy code that 
may cause similar issues. If you wouldn't mind, please could you add that 
information to this JIRA?

Secondly, the static_init_* methods are generated by the ASM StaticInitMerger 
class to merge multiple static inits (<clinit>)into a single one. So in the 
case where a class already has a <clinit> then the <clinit> should not be 
marked as synthetic, but the static_init_* methods probably should. However, 
the code from the original <clinit> is not really synthetic in this case. I 
think a danger here is that the debugger could get very confused if the class 
contains a <clinit>, but then the compiled class contains a synthetic <clinit>. 
Could you elaborate about if you have considered these cases in your patch?

I don't want to look at your patch if it contains ASM code, because I'd like to 
be able to produce a clean implementation if necessary. Maybe the right thing 
to do here is remove the ASM StaticInitMerger wrapper and instead create our 
own code to do the following:
1. If a class does not have a <clinit> add a synthetic <clinit>
2. If a class already has a <clinit> then:
 -add a synthetic generated static_init_* method
 -add a call to the generated method from the existing <clinit>

Thanks


> Proxy or weaving code should mark all its changes synthetic
> -----------------------------------------------------------
>
>                 Key: ARIES-669
>                 URL: https://issues.apache.org/jira/browse/ARIES-669
>             Project: Aries
>          Issue Type: Bug
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: David Jencks
>
> In order to make it easier for OWB to ignore the additional goo added by the 
> proxy/weaving stuff, it should all be marked synthetic.  So far I've 
> identified the added SerialVersionUID field and static_init_* methods as 
> causing problems with the jcdi tck.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to