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
