diff options
author | Tom Tromey <tromey@redhat.com> | 2003-09-29 21:13:55 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2003-09-29 21:13:55 +0000 |
commit | 2cd5614273c9579fa35eff4b53a773c95b74fc75 (patch) | |
tree | 18171d36bf9de87984585bd1c888f405512a3e54 /libjava/include/jvm.h | |
parent | 51ac684e521e8008e2c076e5ca7c139b236f603c (diff) | |
download | gcc-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.h | 6 |
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. */ |