This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Parts of 2.2.1 core use old gc API
Type: Stage:
Components: Interpreter Core Versions: Python 2.2
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: nascheme Nosy List: gvanrossum, nascheme, tim.peters
Priority: normal Keywords:

Created on 2002-06-30 18:18 by tim.peters, last changed 2022-04-10 16:05 by admin. This issue is now closed.

Messages (4)
msg11399 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2002-06-30 18:18
At least generators, iterators, and bound method 
objects in 2.2.1 are using the 2.1 gc API internally 
(PyObject_GC_Init & friends), which collapses to a 
bunch of nops.  That's not intentional, right?  I'm 
tempted to call it a critical bug, except nobody has 
noticed <wink>.
msg11400 - (view) Author: Neil Schemenauer (nascheme) * (Python committer) Date: 2002-07-01 16:21
Logged In: YES 
user_id=35752

It wasn't intentional but it's been known for a while.  No
one complained
and so we didn't fix it in a bugfix release.  I think it
would be considered a
new feature.  Maybe we should leave it up to the 2.2 release
manager to
decide.

This is a good example of why it would be useful to have an
option to
disable compatibilty code.
msg11401 - (view) Author: Neil Schemenauer (nascheme) * (Python committer) Date: 2002-08-05 14:57
Logged In: YES 
user_id=35752

I've removed the noops.  Should I re-enable GC for these
types? Assigning
to Guido for pronouncement or delegation.
msg11402 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2002-08-05 15:47
Logged In: YES 
user_id=6380

I don't think we need to enable GC for those types in 2.2
unless we find specific cases where it's needed in an app.

(Tim said bound method objects, sending me off on a wild
goose chase for a bit, until I realized he meant "whatever's
in methodobject.c". This is a misnomer -- it contains the
code for C functions. Bound methods are in classobject.c,
under the name "instance method" (in 2.3, "instancemethod").
Also a misnomer. :-( )
History
Date User Action Args
2022-04-10 16:05:28adminsetgithub: 36828
2002-06-30 18:18:04tim.peterscreate