You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Volosyuk (JIRA)" <ji...@apache.org> on 2006/12/27 20:44:28 UTC

[jira] Updated: (HARMONY-2907) [drlvm][gc] re-enabling of pinning in gcv4.1

     [ http://issues.apache.org/jira/browse/HARMONY-2907?page=all ]

Ivan Volosyuk updated HARMONY-2907:
-----------------------------------

    Attachment: h2907_pinning.diff

Patch attached.

> [drlvm][gc] re-enabling of pinning in gcv4.1
> --------------------------------------------
>
>                 Key: HARMONY-2907
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2907
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: All
>            Reporter: Ivan Volosyuk
>            Priority: Minor
>         Attachments: h2907_pinning.diff
>
>
> Disabling of pinning of heap objects had negative performance impact for some work loads, like xml processing.
> Here is a patch to enable pinning again.
> Pinning support improved:
>  * added handling for pin counter overflow.
>  * hashcode status bits and pin counter has placed in different bytes of object status word to prevent any possibility of conflict
>  * pin counter updates are atomic while hashcode status updates are not.
> I have tested the code on following scenarios:
>    Live object is pinned in different threads and overflow pin counter
>    Objects are created and pinned in endless loop
>    Smoke tests
>    EM64T

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira