summaryrefslogtreecommitdiff
path: root/libjava/java/lang/Thread.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-13 02:16:22 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-13 02:16:22 +0000
commit3d705eb29f4ecdd97b00551d5d67c3952afaa1f2 (patch)
tree86bc2116f67a8c7a59e8cb0a7732f0fb34197168 /libjava/java/lang/Thread.java
parent5278adb993255c854b6beba0075adfe362c50210 (diff)
downloadgcc-3d705eb29f4ecdd97b00551d5d67c3952afaa1f2.tar.gz
* sources.am, Makefile.in: Rebuilt.
* java/util/logging/LogManager.java: Removed. * java/util/logging/Logger.java (resetLogger): New method, from Classpath. * java/io/RandomAccessFile.java: Removed. * gnu/java/nio/channels/FileChannelImpl.java (create): New method. (FileChannelImpl): Now private. * java/io/FileInputStream.java: Removed. * java/io/FileOutputStream.java: Removed. * java/security/AccessControlContext.java: Removed. * java/lang/ThreadLocal.java: Removed. * java/lang/InheritableThreadLocal.java: Removed. * java/lang/Thread.java (locals): New field. (getThreadLocals): New method. * java/lang/natThread.cc (finish_): Clear 'locals'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113735 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/Thread.java')
-rw-r--r--libjava/java/lang/Thread.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java
index fc07f2bbd37..7938498ed49 100644
--- a/libjava/java/lang/Thread.java
+++ b/libjava/java/lang/Thread.java
@@ -1,5 +1,5 @@
/* Thread -- an independent thread of executable code
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation
This file is part of GNU Classpath.
@@ -41,6 +41,8 @@ package java.lang;
import gnu.gcj.RawData;
import gnu.gcj.RawDataManaged;
+import gnu.java.util.WeakIdentityHashMap;
+import java.util.Map;
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
@@ -125,6 +127,11 @@ public class Thread implements Runnable
/** The context classloader for this Thread. */
private ClassLoader contextClassLoader;
+ /** Thread local storage. Package accessible for use by
+ * InheritableThreadLocal.
+ */
+ WeakIdentityHashMap locals;
+
// This describes the top-most interpreter frame for this thread.
RawData interp_frame;
@@ -914,4 +921,18 @@ public class Thread implements Runnable
private final native void initialize_native();
private final native static String gen_name();
+
+ /**
+ * Returns the map used by ThreadLocal to store the thread local values.
+ */
+ static Map getThreadLocals()
+ {
+ Thread thread = currentThread();
+ Map locals = thread.locals;
+ if (locals == null)
+ {
+ locals = thread.locals = new WeakIdentityHashMap();
+ }
+ return locals;
+ }
}