aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/jvm.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-09-27 20:03:09 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-09-27 20:03:09 +0000
commitb9e6a2e5de4e94b5c3bfbe6c60e3231a200e46bc (patch)
tree18763461cdb28ee640435eb7d63f5a857583660c /libjava/include/jvm.h
parentab3fa9d34434e2aa491c216a3b9b20122179db64 (diff)
downloadgcc-b9e6a2e5de4e94b5c3bfbe6c60e3231a200e46bc.zip
gcc-b9e6a2e5de4e94b5c3bfbe6c60e3231a200e46bc.tar.gz
gcc-b9e6a2e5de4e94b5c3bfbe6c60e3231a200e46bc.tar.bz2
re PR libgcj/23367 (_Jv_FindMethodInCache is not thread-safe)
PR libgcj/23367: * include/jvm.h (_Jv_FreeMethodCache): Declare. * java/lang/natClass.cc (MCACHE_SIZE): Conditional on HAVE_TLS. (struct _Jv_mcache): Likewise. (method_cache): Likewise. (_Jv_FindMethodInCache): Do nothing unless TLS is available. (_Jv_AddMethodToCache): Likewise. (_Jv_FreeMethodCache): New function. * java/lang/natThread.cc (finish_): Call _Jv_FreeMethodCache. * aclocal.m4, configure, include/config.h.in: Rebuilt. * configure.ac: Invoke GCC_CHECK_TLS. From-SVN: r104707
Diffstat (limited to 'libjava/include/jvm.h')
-rw-r--r--libjava/include/jvm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index 459d459..6061300 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -359,6 +359,10 @@ void _Jv_SetInitialHeapSize (const char *arg);
_Jv_GCSetMaximumHeapSize. */
void _Jv_SetMaximumHeapSize (const char *arg);
+/* Free the method cache, if one was allocated. This is only called
+ during thread deregistration. */
+void _Jv_FreeMethodCache ();
+
extern "C" void JvRunMain (jclass klass, int argc, const char **argv);
void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
bool is_jar);