=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/gc_risa.c,v retrieving revision 1.3 retrieving revision 1.5 diff -u -p -r1.3 -r1.5 --- OpenXM_contrib2/asir2000/parse/gc_risa.c 2007/11/11 15:54:03 1.3 +++ OpenXM_contrib2/asir2000/parse/gc_risa.c 2009/02/05 11:21:38 1.5 @@ -1,4 +1,4 @@ -#include "private/gc_priv.h" +#include "gc.h" #include void error(char *); @@ -37,17 +37,17 @@ void *Risa_GC_realloc(void *p,size_t d) int get_heapsize() { - return GC_heapsize; + return GC_get_heap_size(); } +#if !defined(BYTES_TO_WORDS) +#define BYTES_TO_WORDS(x) ((x)>>2) +#endif + long get_allocwords() { -#if !defined(GC7) - return GC_words_allocd_before_gc + GC_words_allocd; -#else - long n = GC_bytes_allocd_before_gc + GC_bytes_allocd; - return BYTES_TO_WORDS(n); -#endif + size_t n = GC_get_total_bytes(); + return (long)BYTES_TO_WORDS(n); /* bytes to words */ } double gctime; @@ -185,6 +185,18 @@ double get_clock() } #endif #endif + +extern int GC_free_space_numerator; + +void Risa_GC_get_adj(int *nm, int *dn) { + *nm = GC_free_space_numerator; + *dn = GC_free_space_divisor; +} + +void Risa_GC_set_adj(int nm, int dn) { + GC_free_space_numerator = nm; + GC_free_space_divisor = dn; +} void GC_timerstart() { gcstart = get_clock();