aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-11-02 00:12:10 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-11-02 00:12:10 +0000
commite40217a763572e59dc870abfee044b762cdd6740 (patch)
tree5af320ca89be31cc40ce1c2bd128991ee310abce
parent3d43c0742f8f99e615eca4d3e19b503665bf377e (diff)
downloadgcc-e40217a763572e59dc870abfee044b762cdd6740.zip
gcc-e40217a763572e59dc870abfee044b762cdd6740.tar.gz
gcc-e40217a763572e59dc870abfee044b762cdd6740.tar.bz2
boehm.cc (_Jv_InitGC): Set GC_java_finalization.
* boehm.cc (_Jv_InitGC): Set GC_java_finalization. (sum_blocks): Removed. (_Jv_GCFreeMemory): Use GC_get_free_bytes. From-SVN: r30335
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/boehm.cc22
2 files changed, 9 insertions, 19 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index fb71da3..cad8360 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-01 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (_Jv_InitGC): Set GC_java_finalization.
+ (sum_blocks): Removed.
+ (_Jv_GCFreeMemory): Use GC_get_free_bytes.
+
1999-11-01 Bryce McKinlay <bryce@albatross.co.nz>
* java/io/PrintStream (PrintStream): Fix illegal usage of "this"
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index fb11a11..39fc9af 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -368,28 +368,10 @@ _Jv_GCTotalMemory (void)
return GC_get_heap_size ();
}
-/* Sum size of each hblk. */
-static void
-sum_blocks (struct hblk *h, word arg)
-{
- long *sump = (long *) arg;
- /* This evil computation is from boehm-gc/checksums.c. */
- hdr *hhdr = HDR (h);
- int bytes = WORDS_TO_BYTES (hhdr->hb_sz);
- bytes += HDR_BYTES + HBLKSIZE - 1;
- bytes &= ~ (HBLKSIZE - 1);
- *sump += bytes;
-}
-
-/* This turns out to be expensive to implement. For now, we don't
- care. We could make it less expensive, perhaps, but that would
- require some changes to the collector. */
long
_Jv_GCFreeMemory (void)
{
- long sum = 0;
- GC_apply_to_all_blocks (sum_blocks, &sum);
- return sum;
+ return GC_get_free_bytes ();
}
void
@@ -423,6 +405,8 @@ _Jv_InitGC (void)
}
initialized = 1;
+ GC_java_finalization = 1;
+
// Set up state for marking and allocation of Java objects.
obj_free_list = (ptr_t *) GC_generic_malloc_inner ((MAXOBJSZ + 1)
* sizeof (ptr_t),