harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [jira] Updated: (HARMONY-5098) Support for uncompressed heap references in gc
Date Thu, 22 Nov 2007 05:31:24 GMT
On Nov 22, 2007 10:59 AM, Ilya Berezhniuk (JIRA) <jira@apache.org> wrote:
>
>      [ https://issues.apache.org/jira/browse/HARMONY-5098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
>
> Ilya Berezhniuk updated HARMONY-5098:
> -------------------------------------
>
>     Attachment: gc_ref_06.patch
>
> Here is updated patch for GC_GEN, VM and build system (gc_ref_06.patch).
>
> Comments to the patch:
> ~~~~~~~~~~~~~~~~~~~~~~
>
> 1. GC_CC is not corrected according to changes in object layout. But looks like GC_CC
does not work anyway - I've got the same assertion with my patch as without patch.
>
> 2. GCHelper.java was duplicated because uncompressed version should load different native
library in its static initializer. Separate class can be used, but it will involve duplicating
native methods with new mangling.
>
> 3. I have not uncommented check_compression() as Rana suggested, because now we actually
need not 'supports_compression' function, but 'support_uncompressed', or something like 'get_compression_modes'.
>
> 4. Build system was corrected so that both GC_GEN instances are built only for runtime-switch
mode. Only one proper GC_GEN library is built for compile-time selected compressed and uncompressed
modes.
>
> 5. The places in GC_GEN, where compiler produced a warning for returning integer value
as Boolean, were changed to constructs like (<integer value> != 0).
>
> 6. gc.RunFinalizersOnExitTest and sometimes thread.InfiniteFinalizer fail with this patch.
I can't find a cause with my weak knowledge of GC internals.
>
> 7. HARMONY-5091 patch should be used for testing this patch in uncompressed mode when
using default JIT or OPT. Interpreter and JET work fine without HARMONY-5091 patch.
>
>
> The results of testing on x86_64 with 'build test':
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> (Note: JIT/OPT tests pass in uncompressed mode with HARMONY-5091 patch, and in compressed
mode without this patch - looks like HARMONY-5091-v0.1.patch enables uncompressed mode but
damages compressed mode.)
>
> ---- Windows/x86_64 uncompressed ----
> All tests are passed excluding gc.RunFinalizersOnExitTest
>
> ---- Windows/x86_64 compressed ----
> All tests are passed
>
> ---- Linux/x86_64 uncompressed ----
> All tests are passed excluding gc.RunFinalizersOnExitTest on all EMs and thread.InfiniteFinalizer
on interpreter
>
> ---- Linux/x86_64 compressed ----
> All tests are passed excluding gc.RunFinalizersOnExitTest
>
> ---- Windows/x86 (uncompressed) ----
> All tests are passed
>
>
> > Support for uncompressed heap references in gc
> > ----------------------------------------------
> >
> >                 Key: HARMONY-5098
> >                 URL: https://issues.apache.org/jira/browse/HARMONY-5098
> >             Project: Harmony
> >          Issue Type: New Feature
> >          Components: DRLVM
> >            Reporter: Rana Dasgupta
> >         Attachments: gc_ref02.patch, gc_ref_06.patch, H5098.uncompRef.patch, uncompress.patch
>
> >
> >
> > JIRA issue for gc changes to support uncompressed 64 bit references
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>

gc.RunFinalizersOnExitTest and thread.InfiniteFinalizer (and a couple
of other finalizer related tests) are really troublemakers. They are
interacting across vm and gc and threading, and have unclear
specification. I am not sure if we want to spend time in it. My
suggestion is to exclude them for uncompression mode if it they can't
be fixed in a short time. We can come back to them when we have time.

Thanks,
xiaofeng

-- 
http://xiao-feng.blogspot.com

Mime
View raw message