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 *);



Reply via email to