You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Timothy Ward (JIRA)" <ji...@apache.org> on 2011/04/14 17:47:05 UTC

[jira] [Created] (ARIES-633) Improve proxy support for final classes and final methods

Improve proxy support for final classes and final methods
---------------------------------------------------------

                 Key: ARIES-633
                 URL: https://issues.apache.org/jira/browse/ARIES-633
             Project: Aries
          Issue Type: New Feature
          Components: Proxy
    Affects Versions: 0.4
            Reporter: Timothy Ward
            Assignee: Timothy Ward
             Fix For: 0.4


The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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

[jira] [Resolved] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Jeremy Hughes (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes resolved ARIES-633.
---------------------------------

    Resolution: Fixed
    
> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: proxy uber bundle 0.4, proxy.api-0.4, proxy.impl-0.4, proxy-itests-0.4, blueprint uber bundle 0.4, blueprint.annotation.itests-0.3.2, blueprint.core-0.4, blueprint.itests-0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Timothy Ward (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Ward closed ARIES-633.
------------------------------


> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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

[jira] [Updated] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Jeremy Hughes (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes updated ARIES-633:
--------------------------------

    Fix Version/s: jndi.url.itest-0.3.1
                   jndi uber bundle 0.3.1
                   jndi.url-0.3.1
    
> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: proxy uber bundle 0.4, proxy.api-0.4, proxy.impl-0.4, proxy.itests-0.4, blueprint uber bundle 0.4, blueprint.annotation.itests-0.3.2, blueprint.core-0.4, blueprint.itests-0.4, jndi.url-0.3.1, jndi uber bundle 0.3.1, jndi.url.itest-0.3.1
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Reopened] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Jeremy Hughes (Reopened) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes reopened ARIES-633:
---------------------------------

    
> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Timothy Ward (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019875#comment-13019875 ] 

Timothy Ward commented on ARIES-633:
------------------------------------

I have spent the past couple of weeks working with Richard Ellis on this. It started as a fun side project, but we found that we were able to significantly improve performance by removing reflective calls (about 400% improvement for short methods).

This also allows us to create our own Dynamic Proxies for interfaces, which again are much quicker (about 400% for short methods).

The impact on non-proxied calls is very low at a couple of clock cycles.

> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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

[jira] [Updated] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Jeremy Hughes (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes updated ARIES-633:
--------------------------------

    Fix Version/s:     (was: 0.4)
                   blueprint.itests-0.4
                   blueprint.core-0.4
                   blueprint.annotation.itests-0.3.2
                   blueprint uber bundle 0.4
                   proxy-itests-0.4
                   proxy.impl-0.4
                   proxy.api-0.4
                   proxy uber bundle 0.4
    
> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: proxy uber bundle 0.4, proxy.api-0.4, proxy.impl-0.4, proxy-itests-0.4, blueprint uber bundle 0.4, blueprint.annotation.itests-0.3.2, blueprint.core-0.4, blueprint.itests-0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Timothy Ward (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019877#comment-13019877 ] 

Timothy Ward commented on ARIES-633:
------------------------------------

The code is ready to commit, but there can be some build-time tidy up once the OSGi 4.3 API and Equinox 3.7 are in a Maven Repo

As an aside, the proxy code can still run on OSGi 4.2 without weaving support and the new dynamic interface proxies do not require OSGi 4.3, and will be used on OSGi 4.2.

> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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

[jira] [Commented] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Richard Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019900#comment-13019900 ] 

Richard Ellis commented on ARIES-633:
-------------------------------------

I think it is worth pointing out as well that the interactions with ASM are more carefully controlled than with the existing proxy code. This should make the new code a bit more future proof to any ASM changes.

> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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

[jira] [Resolved] (ARIES-633) Improve proxy support for final classes and final methods

Posted by "Timothy Ward (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Ward resolved ARIES-633.
--------------------------------

    Resolution: Fixed

New Proxy code is in trunk, and the full build runs with no errors

> Improve proxy support for final classes and final methods
> ---------------------------------------------------------
>
>                 Key: ARIES-633
>                 URL: https://issues.apache.org/jira/browse/ARIES-633
>             Project: Aries
>          Issue Type: New Feature
>          Components: Proxy
>    Affects Versions: 0.4
>            Reporter: Timothy Ward
>            Assignee: Timothy Ward
>             Fix For: 0.4
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The new OSGi 4.3 specification adds support for bytecode weaving. This would allow us to generate proxys by weaving classes as they are loaded, avoiding the current restriction on final classes and final methods.

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