harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Volosyuk (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-1762) [DRLVM][GC] weak references reachable from finalizible objects is not enumerated
Date Sun, 15 Oct 2006 00:47:41 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-1762?page=all ]

Ivan Volosyuk updated HARMONY-1762:

    Attachment: special_references_fix2.diff

True, only a half of problem is fixed in previous patch.

New weak references detected after processing finalizible objects cannot be safely ignored.
Their slots should be updated according to reachability of referents.

Fixed in new patch:
Added one more phase to update weak and soft references detected after marking of all finalizible
No more phases needed even for arbitrary length of dependent weak and finalizible object chains,
as no more objects will be revived at this GC.

> [DRLVM][GC] weak references reachable from finalizible objects is not enumerated
> --------------------------------------------------------------------------------
>                 Key: HARMONY-1762
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1762
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: All
>            Reporter: Ivan Volosyuk
>         Attachments: FinGC.java, special_references_fix.diff, special_references_fix2.diff
> Weak references processing is splited into 2 phases on compaction algorithm.
> 1 phase: check reachability of referent, remember the reference or referent for update
during compaction.
> 2 phase: vm_enqueue_reference() if the referent is not reachable.
> Algorithm of enumeration is the following:
> enumerate world
> enumerate (phase1) process weak and soft references
> enumerate finalizible objects.
> compaction
> enqueue weak and soft references
> ....
> Enumeration of finalizible objects may add more weak references which was not enumerated,
but which will be enqueued. This is the enumeration problem.

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


View raw message