[Python-checkins] r82290 - in python/branches/py3k: Include/longobject.h Modules/xxmodule.c Objects/floatobject.c Objects/frameobject.c
mark.dickinson
python-checkins at python.org
Sun Jun 27 20:19:09 CEST 2010
Author: mark.dickinson
Date: Sun Jun 27 20:19:09 2010
New Revision: 82290
Log:
Issue #9089: Remove references to intobject.c and intobject.h from comments.
Modified:
python/branches/py3k/Include/longobject.h
python/branches/py3k/Modules/xxmodule.c
python/branches/py3k/Objects/floatobject.c
python/branches/py3k/Objects/frameobject.c
Modified: python/branches/py3k/Include/longobject.h
==============================================================================
--- python/branches/py3k/Include/longobject.h (original)
+++ python/branches/py3k/Include/longobject.h Sun Jun 27 20:19:09 2010
@@ -58,7 +58,7 @@
#error "sizeof(pid_t) is neither sizeof(int), sizeof(long) or sizeof(long long)"
#endif /* SIZEOF_PID_T */
-/* For use by intobject.c only */
+/* Used by Python/mystrtoul.c. */
PyAPI_DATA(unsigned char) _PyLong_DigitValue[256];
/* _PyLong_Frexp returns a double x and an exponent e such that the
Modified: python/branches/py3k/Modules/xxmodule.c
==============================================================================
--- python/branches/py3k/Modules/xxmodule.c (original)
+++ python/branches/py3k/Modules/xxmodule.c Sun Jun 27 20:19:09 2010
@@ -10,7 +10,7 @@
your own types of attributes instead. Maybe you want to name your
local variables other than 'self'. If your object type is needed in
other files, you'll have to create a file "foobarobject.h"; see
- intobject.h for an example. */
+ floatobject.h for an example. */
/* Xxo objects */
Modified: python/branches/py3k/Objects/floatobject.c
==============================================================================
--- python/branches/py3k/Objects/floatobject.c (original)
+++ python/branches/py3k/Objects/floatobject.c Sun Jun 27 20:19:09 2010
@@ -21,7 +21,22 @@
extern int finite(double);
#endif
-/* Special free list -- see comments for same code in intobject.c. */
+/* Special free list
+
+ Since some Python programs can spend much of their time allocating
+ and deallocating floats, these operations should be very fast.
+ Therefore we use a dedicated allocation scheme with a much lower
+ overhead (in space and time) than straight malloc(): a simple
+ dedicated free list, filled when necessary with memory from malloc().
+
+ block_list is a singly-linked list of all PyFloatBlocks ever allocated,
+ linked via their next members. PyFloatBlocks are never returned to the
+ system before shutdown (PyFloat_Fini).
+
+ free_list is a singly-linked list of available PyFloatObjects, linked
+ via abuse of their ob_type members.
+*/
+
#define BLOCK_SIZE 1000 /* 1K less typical malloc overhead */
#define BHEAD_SIZE 8 /* Enough for a 64-bit pointer */
#define N_FLOATOBJECTS ((BLOCK_SIZE - BHEAD_SIZE) / sizeof(PyFloatObject))
Modified: python/branches/py3k/Objects/frameobject.c
==============================================================================
--- python/branches/py3k/Objects/frameobject.c (original)
+++ python/branches/py3k/Objects/frameobject.c Sun Jun 27 20:19:09 2010
@@ -391,7 +391,7 @@
the local variables in f_localsplus are NULL.
2. We also maintain a separate free list of stack frames (just like
- integers are allocated in a special way -- see intobject.c). When
+ floats are allocated in a special way -- see floatobject.c). When
a stack frame is on the free list, only the following members have
a meaning:
ob_type == &Frametype
More information about the Python-checkins
mailing list