src/share/vm/runtime/threadLocalStorage.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -20,10 +20,17 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
+#ifndef SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP
+#define SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP
+
+#include "gc_implementation/shared/gcUtil.hpp"
+#include "runtime/os.hpp"
+#include "utilities/top.hpp"
+
// Interface for thread local storage
// Fast variant of ThreadLocalStorage::get_thread_slow
extern "C" Thread* get_thread();
@@ -35,11 +42,29 @@
static void set_thread(Thread* thread);
static Thread* get_thread_slow();
static void invalidate_all() { pd_invalidate_all(); }
// Machine dependent stuff
- #include "incls/_threadLS_pd.hpp.incl"
+#ifdef TARGET_OS_ARCH_linux_x86
+# include "threadLS_linux_x86.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_sparc
+# include "threadLS_linux_sparc.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_linux_zero
+# include "threadLS_linux_zero.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_solaris_x86
+# include "threadLS_solaris_x86.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_solaris_sparc
+# include "threadLS_solaris_sparc.hpp"
+#endif
+#ifdef TARGET_OS_ARCH_windows_x86
+# include "threadLS_windows_x86.hpp"
+#endif
+
public:
// Accessor
static inline int thread_index() { return _thread_index; }
static inline void set_thread_index(int index) { _thread_index = index; }
@@ -59,5 +84,7 @@
static void pd_init();
// Invalidate any thread cacheing or optimization schemes.
static void pd_invalidate_all();
};
+
+#endif // SHARE_VM_RUNTIME_THREADLOCALSTORAGE_HPP