aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/jvm.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2003-09-29 21:13:55 +0000
committerTom Tromey <tromey@gcc.gnu.org>2003-09-29 21:13:55 +0000
commit2cd5614273c9579fa35eff4b53a773c95b74fc75 (patch)
tree18171d36bf9de87984585bd1c888f405512a3e54 /libjava/include/jvm.h
parent51ac684e521e8008e2c076e5ca7c139b236f603c (diff)
downloadgcc-2cd5614273c9579fa35eff4b53a773c95b74fc75.zip
gcc-2cd5614273c9579fa35eff4b53a773c95b74fc75.tar.gz
gcc-2cd5614273c9579fa35eff4b53a773c95b74fc75.tar.bz2
re PR libgcj/10596 (Reference and String.intern don't work together)
PR libgcj/10596: * include/jvm.h (_Jv_FinalizeString, _Jv_RegisterStringFinalizer): Declare. * java/lang/natString.cc (_Jv_FinalizeString): Renamed from unintern. (intern): Updated. (_Jv_NewStringUtf8Const): Likewise. * java/lang/ref/natReference.cc (finalize_referred_to_object): Add special case when finalizing a String. (in_hash): New function. (_Jv_RegisterStringFinalizer): Likewise. (maybe_add_finalize): Likewise. From-SVN: r71915
Diffstat (limited to 'libjava/include/jvm.h')
-rw-r--r--libjava/include/jvm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index a114e55..ed6c61e 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -290,6 +290,12 @@ void _Jv_GCRegisterDisappearingLink (jobject *objp);
implement soft references. */
jboolean _Jv_GCCanReclaimSoftReference (jobject obj);
+/* Register a finalizer for a String object. This is only used by
+ the intern() implementation. */
+void _Jv_RegisterStringFinalizer (jobject str);
+/* This is called to actually finalize a possibly-intern()d String. */
+void _Jv_FinalizeString (jobject str);
+
/* Return approximation of total size of heap. */
long _Jv_GCTotalMemory (void);
/* Return approximation of total free memory. */