]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
boehm.cc (_Jv_InitGC): Set GC_java_finalization.
authorTom Tromey <tromey@cygnus.com>
Tue, 2 Nov 1999 00:12:10 +0000 (00:12 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Tue, 2 Nov 1999 00:12:10 +0000 (00:12 +0000)
* boehm.cc (_Jv_InitGC): Set GC_java_finalization.
(sum_blocks): Removed.
(_Jv_GCFreeMemory): Use GC_get_free_bytes.

From-SVN: r30335

libjava/ChangeLog
libjava/boehm.cc

index fb71da38449e5c99c709d787de0edd8bb16e2798..cad83603c9d545259bbd118d962df312c6f89df6 100644 (file)
@@ -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" 
index fb11a1128732eeff2ebe8d4d9a7514fea7041f79..39fc9af9b09893eca0ed1c64b54168b68eec9f22 100644 (file)
@@ -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),