* autogen.sh: Make it work with unpatched Boehm GC.
[cacao.git] / src / mm / gc-boehm.cpp
index c8dc49ba2ea09abfb77200cbd93ce35cd60ea07b..70d494cbb35816d37ca8eb7d5d3a959c0f19c7e5 100644 (file)
@@ -1,6 +1,6 @@
 /* src/mm/gc-boehm.cpp - interface for boehm gc
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008
+   Copyright (C) 1996-2005, 2006, 2007, 2008, 2010
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 #if defined(ENABLE_THREADS) && defined(__DARWIN__)
 #define GC_DARWIN_THREADS
 #endif
+#if defined(ENABLE_THREADS) && defined(__SOLARIS__)
+#define GC_SOLARIS_THREADS
+#endif
 
 #include "boehm-gc/include/gc.h"
+#include "boehm-gc/include/javaxfc.h"
 #include "mm/gc.hpp"
-#include "mm/memory.h"
+#include "mm/memory.hpp"
 
-#include "toolbox/logging.h"
+#include "toolbox/logging.hpp"
 
 #include "vm/jit/builtin.hpp"
 #include "vm/exceptions.hpp"
@@ -57,6 +61,7 @@
 /* global variables ***********************************************************/
 
 static bool in_gc_out_of_memory = false;    /* is GC out of memory?           */
+static size_t gc_max_heap_size = 0;
 
 
 /* prototype static functions *************************************************/
@@ -102,6 +107,7 @@ void gc_init(size_t heapmaxsize, size_t heapstartsize)
        /* set the maximal heap size */
 
        GC_set_max_heap_size(heapmaxsize);
+       gc_max_heap_size = heapmaxsize;
 
        /* set the initial heap size */
 
@@ -212,7 +218,7 @@ int64_t gc_get_total_bytes(void)
 
 int64_t gc_get_max_heap_size(void)
 {
-       return GC_get_max_heap_size();
+       return gc_max_heap_size;
 }
 
 
@@ -270,4 +276,5 @@ void *gc_out_of_memory(size_t bytes_requested)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */