You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2007/04/19 13:23:19 UTC

svn commit: r530381 - in /harmony/enhanced/drlvm/trunk/vm: include/open/hythread.h jitrino/src/codegenerator/ia32/Ia32Encoder.cpp

Author: varlax
Date: Thu Apr 19 04:23:12 2007
New Revision: 530381

URL: http://svn.apache.org/viewvc?view=rev&rev=530381
Log:
Postfix to HARMONY-3291, enabled fast TLS for Linux@x64.

Modified:
    harmony/enhanced/drlvm/trunk/vm/include/open/hythread.h
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Encoder.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/include/open/hythread.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/hythread.h?view=diff&rev=530381&r1=530380&r2=530381
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/hythread.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/hythread.h Thu Apr 19 04:23:12 2007
@@ -419,7 +419,7 @@
 #elif defined(__linux__)
     // some kind of nix - the threads internals are known for IA32/Intel64
     // kernels, will use slow way on other HWs (TODO: add IPF support)
-#   if defined(_IA32_)
+#   if defined(_IA32_) || defined(_EM64T_)
 #       define HYTHREAD_FAST_TLS (1)
 #       define HYTHREAD_FAST_TLS_ATTRIBUTE __attribute__((tls_model("initial-exec")))
 #   endif

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Encoder.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Encoder.cpp?view=diff&rev=530381&r1=530380&r2=530381
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Encoder.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Encoder.cpp Thu Apr 19 04:23:12 2007
@@ -24,6 +24,7 @@
 #include <signal.h>
 #include "mkernel.h"
 #include "enc_prvt.h"
+#include "PlatformDependant.h"
 
 namespace Jitrino {
 namespace Ia32 {
@@ -254,7 +255,7 @@
 #ifdef _EM64T_
                 // FIXME64 adapter: all PTR types go as 64 bits
                 // this is a porting quick workaround, should be fixed
-                assert(pindex != NULL || pbase != NULL);
+                assert(pdisp == NULL || fit32(disp));
                 sz = is_ptr_type(p->getType()) ? OpndSize_64 : sz;
 #endif
                 EncoderBase::Operand o(sz,