Tim Peters
406fe3b1c0
Repaired the debug Windows deaths in test_descr, by allocating enough
...
pad memory to properly align the __dict__ pointer in all cases.
gcmodule.c/objimpl.h, _PyObject_GC_Malloc:
+ Added a "padding" argument so that this flavor of malloc can allocate
enough bytes for alignment padding (it can't know this is needed, but
its callers do).
typeobject.c, PyType_GenericAlloc:
+ Allocated enough bytes to align the __dict__ pointer.
+ Sped and simplified the round-up-to-PTRSIZE logic.
+ Added blank lines so I could parse the if/else blocks <0.7 wink>.
2001-10-06 19:04:01 +00:00
Tim Peters
8c18f25850
_PyObject_GC_Malloc(): split a complicated line in two. As is, there was
...
no way to talk the debugger into showing me how many bytes were being
allocated.
2001-10-06 08:03:20 +00:00
Neil Schemenauer
43411b5683
Make more things internal to this file. Remove
...
visit_finalizer_reachable since it's the same as visit_reachable.
Rename visit_reachable to visit_move. Objects can now have the GC type
flag set, reachable by tp_traverse and not be in a GC linked list. This
should make the collector more robust and easier to use by extension
module writers. Add memory management functions for container objects
(new, del, resize).
2001-08-30 00:05:51 +00:00
Neil Schemenauer
17e7be60b4
Remove "referents" structure (it's not needed). Check return value
...
of PyList_Append.
2001-08-10 14:46:47 +00:00
Neil Schemenauer
c7c8d8e32d
Add get_objects function. This is a low level function (like
...
get_referents, and is not yet documented in the library manual).
Suggestions for a better name welcome.
2001-08-09 15:58:59 +00:00
Neil Schemenauer
48c7034454
Add get_referents function. Closes SF patch #402925 .
2001-08-09 15:38:31 +00:00
Neil Schemenauer
b2c2c9e977
- update Neil's email address
2000-10-04 16:34:09 +00:00
Neil Schemenauer
97d723bd62
- do not start collection during processing of an exception
2000-10-04 16:25:07 +00:00
Neil Schemenauer
7760cff294
Fix some long/"l" int/"i" mismatches. Fixes bug #113779 .
2000-09-22 22:35:36 +00:00
Neil Schemenauer
544de1effb
- Add DEBUG_SAVEALL option. When enabled all garbage objects found by the
...
collector will be saved in gc.garbage. This is useful for debugging a
program that creates reference cycles.
- Fix else statements in gcmodule.c to conform to Python coding standards.
2000-09-22 15:22:38 +00:00
Jeremy Hylton
3263dc2b15
compromise value for threshold0: not too high, not too low
2000-09-05 15:44:50 +00:00
Jeremy Hylton
045946d4ee
set the default threshold much higher
...
we don't need to run gc frequently
2000-09-01 04:01:55 +00:00
Jeremy Hylton
b709df3810
refactor __del__ exception handler into PyErr_WriteUnraisable
...
add sanity check to gc: if an exception occurs during GC, call
PyErr_WriteUnraisable and then call Py_FatalEror.
2000-09-01 02:47:25 +00:00
Jeremy Hylton
0625777b53
apply patch #101362 by Vladimir Marangozov
...
also initial static debug variable to 0
2000-08-31 15:10:24 +00:00
Vladimir Marangozov
f9d20c3786
Neil Schemenauer: GC enable(), disable(), isenabled() interface.
...
Small stylistic changes by VM:
- is_enabled() -> isenabled()
- static ... Py_<func> -> static ... gc_<func>
2000-08-06 22:45:31 +00:00
Barry Warsaw
35e459c3eb
debug_instance(): Use the same %p format directive as with
...
debug_cycle(), and don't cast the pointer to a long. Neither needs
the literal `0x' prefix as %p automatically inserts this (on Linux at
least).
2000-07-12 05:18:36 +00:00
Fred Drake
cc1be2401e
Always use the :funcname part of the format specifier for PyArg_ParseTuple()
...
so we get better error messages.
2000-07-12 04:42:23 +00:00
Fred Drake
b35de5b78a
Neil Schemenauer <nascheme@enme.ucalgary.ca>:
...
Change a cast, intialize a local, and make some sprintf() format strings
type-appropriate (add the "l" to "%d").
Closes SourceForge patch #100737 .
2000-07-11 14:37:41 +00:00
Peter Schneider-Kamp
8bc8f0d036
ANSI-fication
2000-07-10 17:15:07 +00:00
Vladimir Marangozov
b16714b4d0
Initialize the return value in collect_generations() since it is updated
...
conditionally in the code.
2000-07-10 05:37:39 +00:00
Jeremy Hylton
c5007aa5c3
final patches from Neil Schemenauer for garbage collection
2000-06-30 05:02:53 +00:00