On Nov 22, 2007 10:59 AM, Ilya Berezhniuk (JIRA) <[EMAIL PROTECTED]> 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

Reply via email to