Message372380
When the GC module goes to collect objects (most notably, during Python shutdown), it makes a call to subtract_refs on the GC container.
During this invocation, it creates a local variable "op" who's value is the result of 'FROM_GC(gc)', but when it goes to use the obtained 'traverse' method, it calls FROM_GC(gc) instead of using 'op'.
This, unfortunately, makes it rather difficult to debug "Access Violations" for extension modules for when 'traverse' is 'NULL' as inspecting the variable 'op' in the chosen debugger (for my case: Visual Studio on Windows) is impossible.
This can potentially introduce a micro optimization in the overall runtime of the GC module as it no longer has to invoke the addition instruction (if it does) to construct the first parameter of the 'traverse' call. |
|
Date |
User |
Action |
Args |
2020-06-25 16:35:27 | WildCard65 | set | recipients:
+ WildCard65 |
2020-06-25 16:35:27 | WildCard65 | set | messageid: <1593102927.54.0.130776638406.issue41117@roundup.psfhosted.org> |
2020-06-25 16:35:27 | WildCard65 | link | issue41117 messages |
2020-06-25 16:35:27 | WildCard65 | create | |
|