summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-09 05:41:56 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-09 05:41:56 +0000
commit25882d984559dcf6fe7381fa7e05a41b3e39e2c3 (patch)
treed99505540e265a3314a56696be14cfaa4bedd148 /libjava
parent4996a955146ff81b8e0c812e60065fac7e3e06e6 (diff)
downloadppe42-gcc-25882d984559dcf6fe7381fa7e05a41b3e39e2c3.tar.gz
ppe42-gcc-25882d984559dcf6fe7381fa7e05a41b3e39e2c3.zip
2000-04-08 Anthony Green <green@cygnus.com>
* posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h. (_Jv_MutexUnlock): Ditto. * include/posix-threads.h (_Jv_MutexLock): From posix-threads.cc. (_Jv_MutexUnlock): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33037 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/include/posix-threads.h34
-rw-r--r--libjava/posix-threads.cc33
3 files changed, 39 insertions, 35 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e0a3a742279..f282e0f84cd 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,12 @@
2000-04-08 Anthony Green <green@cygnus.com>
+ * posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h.
+ (_Jv_MutexUnlock): Ditto.
+ * include/posix-threads.h (_Jv_MutexLock): From posix-threads.cc.
+ (_Jv_MutexUnlock): Ditto.
+
+2000-04-08 Anthony Green <green@cygnus.com>
+
* java/lang/StringBuffer.java (ensureCapacity): Don't call Math::max.
(ensureCapacity_unsynchronized): New private method.
(append): Use ensureCapacity_unsynchronized.
diff --git a/libjava/include/posix-threads.h b/libjava/include/posix-threads.h
index 22f6717e82d..03a43906bd6 100644
--- a/libjava/include/posix-threads.h
+++ b/libjava/include/posix-threads.h
@@ -115,8 +115,38 @@ _Jv_MutexInit (_Jv_Mutex_t *mu)
mu->owner = 0;
}
-int _Jv_MutexLock (_Jv_Mutex_t *mu);
-int _Jv_MutexUnlock (_Jv_Mutex_t *mu);
+inline int
+_Jv_MutexLock (_Jv_Mutex_t *mu)
+{
+ pthread_t self = pthread_self ();
+ if (mu->owner == self)
+ {
+ mu->count++;
+ }
+ else
+ {
+ pthread_mutex_lock (&mu->mutex);
+ mu->count = 1;
+ mu->owner = self;
+ }
+ return 0;
+}
+
+inline int
+_Jv_MutexUnlock (_Jv_Mutex_t *mu)
+{
+ if (_Jv_PthreadCheckMonitor (mu))
+ return _JV_NOT_OWNER;
+
+ mu->count--;
+
+ if (mu->count == 0)
+ {
+ mu->owner = 0;
+ pthread_mutex_unlock (&mu->mutex);
+ }
+ return 0;
+}
#ifndef LINUX_THREADS
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
index a664ee37060..e6b4b256720 100644
--- a/libjava/posix-threads.cc
+++ b/libjava/posix-threads.cc
@@ -402,39 +402,6 @@ _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
}
}
-int
-_Jv_MutexLock (_Jv_Mutex_t *mu)
-{
- pthread_t self = pthread_self ();
- if (mu->owner == self)
- {
- mu->count++;
- }
- else
- {
- pthread_mutex_lock (&mu->mutex);
- mu->count = 1;
- mu->owner = self;
- }
- return 0;
-}
-
-int
-_Jv_MutexUnlock (_Jv_Mutex_t *mu)
-{
- if (_Jv_PthreadCheckMonitor (mu))
- return _JV_NOT_OWNER;
-
- mu->count--;
-
- if (mu->count == 0)
- {
- mu->owner = 0;
- pthread_mutex_unlock (&mu->mutex);
- }
- return 0;
-}
-
void
_Jv_ThreadWait (void)
{
OpenPOWER on IntegriCloud