[
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