From c2522466d2fcb5273004f1989b89186cd68001d7 Mon Sep 17 00:00:00 2001 From: Teddy Date: Wed, 14 Aug 2013 00:08:30 +0800 Subject: added gc setting built-ins --- gc.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gc.h') diff --git a/gc.h b/gc.h index d116a18..eae0958 100644 --- a/gc.h +++ b/gc.h @@ -5,7 +5,7 @@ #include const int GC_QUEUE_SIZE = 262144; -const size_t GC_CYC_THRESHOLD = 1000; +const size_t GC_CYC_THRESHOLD = GC_QUEUE_SIZE >> 2; typedef std::map EvalObj2Int; typedef std::set EvalObjSet; @@ -33,12 +33,15 @@ class GarbageCollector { EvalObj2Int mapping; PendingEntry *pending_list; + size_t resolve_threshold; public: GarbageCollector(); void cycle_resolve(); void force(); void expose(EvalObj *ptr); + void set_resolve_threshold(size_t new_thres); + size_t get_remaining(); EvalObj *attach(EvalObj *ptr); }; -- cgit v1.2.3