harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Berezhniuk" <ilya.berezhn...@gmail.com>
Subject Re: svn commit: r610727 - in /harmony/enhanced/drlvm/trunk/vm/vmcore/src: class_support/Environment.cpp init/vm_properties.cpp
Date Tue, 15 Jan 2008 02:37:21 GMT
Looks like all the regressions caused by uncompressed mode are now detected.

There are 2 problems only:
1) GC_CC doesn't support uncompressed references mode. So all the tests
started with GC_CC are failed.

2) JIT fires an assertion in magics generation
(VMInterface::areReferencesCompressed() in helper_inliner.cpp:207) when
running in server mode.
I've checked on the regression tests failed because of uncompressed mode:
simply commenting this assert makes all these tests passed.

Thus I think the patch can now be reverted to set compressed mode by
default.
All failures can be reproduced with VM property.

Thanks,
Ilya.

2008/1/10, Ilya Berezhniuk <ilya.berezhniuk@gmail.com>:
>
> Generally JIT is ready for uncompressed+server mode, because it was tested
> a bit.
> Probably those tests touch the code which is not used usually, or some
> changes were checked in after testing in this mode.
> But I hope these problems in JIT can be fixed easily.
>
> I agree with Mikhail; as uncompressed mode was set by default for testing
> purpose, we'll revert the patch after gathering more bug statistics.
>
> Thanks,
> Ilya.
>
> 2008/1/10, Mikhail Loenko < mloenko@gmail.com>:
> >
> > 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 <gshimansky@apache.org>:
> > > 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, irm=@0xf4cc80) 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?
> > >
> > > smishura@apache.org 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
> > *);
> > > >
> > > >
> > >
> > >
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message