We should revert it once we have more testing results. When we know all the failures we can continue bugfix for the uncompressed mode
2008/1/10, Gregory Shimansky <[EMAIL PROTECTED]>: > Hello > > This switch to uncompressed references by default broke several > regression tests that run on JIT in server mode. For example running > test for H3228 crashes on assertion in JIT: > > #0 0x00002b5992689b75 in raise () from /lib64/libc.so.6 > #1 0x00002b599268b060 in abort () from /lib64/libc.so.6 > #2 0x00002b5992683246 in __assert_fail () from /lib64/libc.so.6 > #3 0x00002aaaad23ab70 in Jitrino::HelperInliner::run (this=0xfd9fd0) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/optimizer/helper_inliner.cpp:207 > #4 0x00002aaaad23b808 in Jitrino::HelperInlinerSession::_run > (this=0xfdef88, [EMAIL PROTECTED]) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/optimizer/helper_inliner.cpp:200 > #5 0x00002aaaad27fb31 in Jitrino::OptPass::run (this=0xfdef88) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/optimizer/optpass.cpp:62 > #6 0x00002aaaad137b0d in Jitrino::runPipeline (c=0x42410440) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:224 > #7 0x00002aaaad137ba4 in Jitrino::compileMethod (cc=0x42410440) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:241 > #8 0x00002aaaad137c54 in Jitrino::Jitrino::CompileMethod > (cc=0x42410440) at > /nfs/ims/proj/drl/mrt2/users/gregory/em64t/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:258 > <snip more stack frames> > > Looking at the helper_inliner.cpp:207 I see the following code: > > #ifdef _EM64T_ > assert(VMInterface::areReferencesCompressed()); > #endif > > which probably means that it is just not ready for uncompressed > references mode. I want to ask JIT developers, whether it is easy to > quickly fix this, or should we revert switching to uncompressed > references as the default mode? > > [EMAIL PROTECTED] said the following on 10.01.2008 12:13: > > Author: smishura > > Date: Thu Jan 10 01:12:41 2008 > > New Revision: 610727 > > > > URL: http://svn.apache.org/viewvc?rev=610727&view=rev > > Log: > > Apply patch from HARMONY-5355: > > [drlvm][object][testing] Change default references mode to uncompressed on > > x86-64 > > > > Modified: > > harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp > > harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_properties.cpp > > > > Modified: > > harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp?rev=610727&r1=610726&r2=610727&view=diff > > ============================================================================== > > --- > > harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp > > (original) > > +++ > > harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp > > Thu Jan 10 01:12:41 2008 > > @@ -126,7 +126,7 @@ > > use_lil_stubs = true; > > #ifdef REFS_USE_RUNTIME_SWITCH > > #ifdef POINTER64 > > - compress_references = true; > > + compress_references = false; > > #else // POINTER64 > > compress_references = false; > > #endif // POINTER64 > > > > Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_properties.cpp > > URL: > > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_properties.cpp?rev=610727&r1=610726&r2=610727&view=diff > > ============================================================================== > > --- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_properties.cpp > > (original) > > +++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_properties.cpp Thu > > Jan 10 01:12:41 2008 > > @@ -303,7 +303,7 @@ > > properties.set_new("thread.soft_unreservation", "false"); > > > > #ifdef REFS_USE_RUNTIME_SWITCH > > - properties.set_new("vm.compress_references", "true"); > > + properties.set_new("vm.compress_references", "false"); > > #endif > > > > int n_api_dll_files = sizeof(api_dll_files) / sizeof(char *); > > > > > >
