mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
...
This commit is contained in:
parent
d3c33c2d1c
commit
e1d75a0d85
14
src/gc.cpp
14
src/gc.cpp
@ -22,7 +22,14 @@ namespace pkpy{
|
||||
for(PyObject* obj: _no_gc) obj->gc.marked = false;
|
||||
|
||||
int freed = gen.size() - alive.size();
|
||||
// std::cout << "GC: " << alive.size() << "/" << gen.size() << " (" << freed << " freed)" << std::endl;
|
||||
|
||||
#if PK_DEBUG_GC_STATS
|
||||
for(auto& [type, count]: deleted){
|
||||
std::cout << "GC: " << obj_type_name(vm, type).sv() << "=" << count << std::endl;
|
||||
}
|
||||
std::cout << "GC: " << alive.size() << "/" << gen.size() << " (" << freed << " freed)" << std::endl;
|
||||
deleted.clear();
|
||||
#endif
|
||||
gen.clear();
|
||||
gen.swap(alive);
|
||||
// clean up pools
|
||||
@ -50,11 +57,6 @@ namespace pkpy{
|
||||
ManagedHeap::~ManagedHeap(){
|
||||
for(PyObject* obj: _no_gc) { obj->~PyObject(); pool64_dealloc(obj); }
|
||||
for(PyObject* obj: gen) { obj->~PyObject(); pool64_dealloc(obj); }
|
||||
#if PK_DEBUG_GC_STATS
|
||||
for(auto& [type, count]: deleted){
|
||||
std::cout << "GC: " << obj_type_name(vm, type).sv() << "=" << count << std::endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user