|
Repo Added
|
Files
89
|
Badge
README BADGES
|
push
github
ffi/gc: restore back rehashing of finalizers table This is a follow-up to the commits 2115828bc ("FFI: Drop finalizer table rehash after GC cycle.") and bfcbaa70e ("Drop unused function wrapper."). After them, the rehashing of the cdata finalizer table at the end of the GC cycle is dropped. Without reshashing of this table, the table increases the estimated amount of memory for the GC. Hence, with the bigger `estimate`, the threshold before starting the GC cycle is increased too. This allows allocating more cdata objects and increasing the size of the finalizer table again. This increases the memory estimate again and so on. As a result, we have unlimited memory growth without rehashing of the table for the cdata-intensive workloads. This patch reverts back the code changes (but not the test) of the aforementioned commits. Also, it fixes the possible crash after rehashing of the cdata finalizers table by adding the protected call to the GC steps on the trace itself and on the trace exit.
5704 of 6042 branches covered (94.41%)
Branch coverage included in aggregate %.
30 of 31 new or added lines in 3 files covered. (96.77%)
8 existing lines in 5 files now uncovered.21757 of 23491 relevant lines covered (92.62%)
3915159.49 hits per line
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|