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,