diff options
author | Teddy <ted.sybil@gmail.com> | 2013-08-14 00:08:30 +0800 |
---|---|---|
committer | Teddy <ted.sybil@gmail.com> | 2013-08-14 00:08:30 +0800 |
commit | c2522466d2fcb5273004f1989b89186cd68001d7 (patch) | |
tree | 6c5eed59e9b32e8e82eee2d22f66be3cede6f6d3 /gc.h | |
parent | faab1d57661e4d68823723a8270205c3a3c6e148 (diff) |
added gc setting built-insgc_cyc
Diffstat (limited to 'gc.h')
-rw-r--r-- | gc.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -5,7 +5,7 @@ #include <map> 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<EvalObj*, size_t> EvalObj2Int; typedef std::set<EvalObj*> 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); }; |