[commit: ghc] master: - fix gc_thread related compilation failure on Solaris/i386 platform (84f6739)
git at git.haskell.org
git at git.haskell.org
Wed Dec 23 09:42:12 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/84f673961942c90e28c215e2c31a62444fbc8237/ghc
>---------------------------------------------------------------
commit 84f673961942c90e28c215e2c31a62444fbc8237
Author: Karel Gardas <karel.gardas at centrum.cz>
Date: Tue Dec 22 22:53:00 2015 +0100
- fix gc_thread related compilation failure on Solaris/i386 platform
Summary:
This patch fixes gc_thread related compilation failure
on Solaris/i386 platform. It uses Linux way of __thread declared
gc_thread variable for register starving i386 from now.
Reviewers: bgamari, austin, erikd
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1688
>---------------------------------------------------------------
84f673961942c90e28c215e2c31a62444fbc8237
rts/sm/GCTDecl.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/rts/sm/GCTDecl.h b/rts/sm/GCTDecl.h
index 5602cb8..f1f9516 100644
--- a/rts/sm/GCTDecl.h
+++ b/rts/sm/GCTDecl.h
@@ -78,7 +78,8 @@ extern __thread gc_thread* gct;
x86/Linux, because we have too few registers available. In my
tests it was worth about 5% in GC performance, but of course that
might change as gcc improves. -- SDM 2009/04/03 */
-#elif (defined(i386_HOST_ARCH) && defined(linux_HOST_OS))
+#elif (defined(i386_HOST_ARCH) && (defined(linux_HOST_OS) \
+ || defined(solaris2_HOST_OS)))
extern __thread gc_thread* gct;
#define SET_GCT(to) gct = (to)
#define DECLARE_GCT __thread gc_thread* gct;
More information about the ghc-commits
mailing list