You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Afremov (JIRA)" <ji...@apache.org> on 2007/05/29 20:05:15 UTC

[jira] Created: (HARMONY-3997) [DRLVM][exception] Class unloading support in lazy stack creation.

[DRLVM][exception] Class unloading support in lazy stack creation.
------------------------------------------------------------------

                 Key: HARMONY-3997
                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
             Project: Harmony
          Issue Type: New Feature
          Components: DRLVM
            Reporter: Pavel Afremov


First version of class unloading support in lazy stack creation.

This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

Posted by "Rana Dasgupta (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-3997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523358 ] 

Rana Dasgupta commented on HARMONY-3997:
----------------------------------------

-XX:gc.ignore_vtable_tracing=false and -XX:gc.force_major_collect=true are needed for CU to turn on, BTW

> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch, test-plugin-unloading.zip
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

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

Rana Dasgupta updated HARMONY-3997:
-----------------------------------

    Attachment: test-plugin-unloading.zip

Attaching a simple version of the pluging test from issue 3845.
Overall between 3845 and 3997, the 3997 approach looks better IMHO. But the patch here has a bug.???

Though the StackClasses array in Throwable.java is set to null after resolution, the classes array is not being collected. So this prevents unloading of the class loader. Probably somewhere the serialized state of the exception is being stored( though transient )?

In this version of the test, the RI unloads the CL when storedexception is set to null, as it should. In DRLVM, the approach is better I think, we can unload after the exception has been reolved.



> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch, test-plugin-unloading.zip
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xiao-Feng Li closed HARMONY-3997.
---------------------------------

    Resolution: Fixed

Committed.

> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch, test-plugin-unloading.zip, test-plugin-unloading.zip
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [DRLVM][exception] Class unloading support in lazy stack creation.

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

Pavel Afremov updated HARMONY-3997:
-----------------------------------

    Attachment: 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch

Fast version of class unloading support in lazy stack creation.

Performance was improoved by extra checks remooving.

> [DRLVM][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

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

Pavel Afremov updated HARMONY-3997:
-----------------------------------

    Attachment: test-plugin-unloading.zip

Updated test which works determinate.

When we call GC one time PluginClassLoader isn't finalized in 99% of cases. If we call GC two times this value reduces and reach 50-70%. To finalize PluginClassLoader in 100%, I call GC 100 times now.


> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch, test-plugin-unloading.zip, test-plugin-unloading.zip
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

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

Pavel Afremov updated HARMONY-3997:
-----------------------------------

    Attachment: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch

Updated patch.

Bug which was found by Rana is fixed here.

> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch, test-plugin-unloading.zip
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [DRLVM][exception] Class unloading support in lazy stack creation.

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

Pavel Afremov updated HARMONY-3997:
-----------------------------------

    Attachment: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch

> [DRLVM][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3997) [drlvm][exception] Class unloading support in lazy stack creation.

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

Gregory Shimansky updated HARMONY-3997:
---------------------------------------

    Summary: [drlvm][exception] Class unloading support in lazy stack creation.  (was: [DRLVM][exception] Class unloading support in lazy stack creation.)

> [drlvm][exception] Class unloading support in lazy stack creation.
> ------------------------------------------------------------------
>
>                 Key: HARMONY-3997
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3997
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: 0001-First-version-of-class-unloading-support-in-lazy-sta.patch, 0002-Fast-version-of-class-unloading-support-in-lazy-stac.patch
>
>
> First version of class unloading support in lazy stack creation.
> This version prevents class unloading if there is any stored exception. In Throwable class implementation array of java.lang.Class was added. This array contains classes of each method on the stack.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.