=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/gc_risa.c,v retrieving revision 1.4 retrieving revision 1.8 diff -u -p -r1.4 -r1.8 --- OpenXM_contrib2/asir2000/parse/gc_risa.c 2009/02/05 08:37:02 1.4 +++ OpenXM_contrib2/asir2000/parse/gc_risa.c 2009/02/06 10:11:12 1.8 @@ -1,4 +1,6 @@ -#include "private/gc_priv.h" +/* $OpenXM: OpenXM_contrib2/asir2000/parse/gc_risa.c,v 1.7 2009/02/06 08:58:28 ohara Exp $ */ + +#include "gc.h" #include void error(char *); @@ -37,21 +39,20 @@ 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; -static double gcstart,asir_start_time; +static double asir_start_time; double get_clock(), get_rtime(), get_current_time(); @@ -72,8 +73,6 @@ double get_rtime() return get_current_time() - asir_start_time; } -#if defined(THINK_C) || defined(__MWERKS__) || defined(VISUAL) || defined(MSWIN32) - #if defined(VISUAL) #include @@ -129,7 +128,7 @@ double get_clock() } else return get_current_time(); } -#else +#elif defined(THINK_C) || defined(__MWERKS__) || defined(MSWIN32) double get_current_time() { return get_clock(); @@ -142,8 +141,6 @@ double get_clock() c = clock(); return (double)c/(double)CLOCKS_PER_SEC; } -#endif - #else #include @@ -170,7 +167,6 @@ double get_clock() } #else -#include #include double get_clock() @@ -186,6 +182,7 @@ double get_clock() #endif #endif +#if !defined(NO_ASIR_GC) extern int GC_free_space_numerator; void Risa_GC_get_adj(int *nm, int *dn) { @@ -197,14 +194,20 @@ void Risa_GC_set_adj(int nm, int dn) { GC_free_space_numerator = nm; GC_free_space_divisor = dn; } +#else +void Risa_GC_get_adj(int *nm, int *dn) { + *nm = 1; + *dn = GC_free_space_divisor; +} -void GC_timerstart() { - gcstart = get_clock(); +void Risa_GC_set_adj(int nm, int dn) { + GC_free_space_divisor = dn/nm; } -void GC_timerstop() { - gctime += get_clock() - gcstart; +double GC_get_gctime() { + return 0.0; } +#endif #if defined(MSWIN32) && !defined(VISUAL) #include