Commit d19052c1 authored by Mark Dickinson's avatar Mark Dickinson

Issue #9089: Remove references to intobject.c and intobject.h from comments.

parent 7ab54e42
...@@ -58,7 +58,7 @@ PyAPI_FUNC(PyObject *) PyLong_GetInfo(void); ...@@ -58,7 +58,7 @@ PyAPI_FUNC(PyObject *) PyLong_GetInfo(void);
#error "sizeof(pid_t) is neither sizeof(int), sizeof(long) or sizeof(long long)" #error "sizeof(pid_t) is neither sizeof(int), sizeof(long) or sizeof(long long)"
#endif /* SIZEOF_PID_T */ #endif /* SIZEOF_PID_T */
/* For use by intobject.c only */ /* Used by Python/mystrtoul.c. */
PyAPI_DATA(unsigned char) _PyLong_DigitValue[256]; PyAPI_DATA(unsigned char) _PyLong_DigitValue[256];
/* _PyLong_Frexp returns a double x and an exponent e such that the /* _PyLong_Frexp returns a double x and an exponent e such that the
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
your own types of attributes instead. Maybe you want to name your your own types of attributes instead. Maybe you want to name your
local variables other than 'self'. If your object type is needed in local variables other than 'self'. If your object type is needed in
other files, you'll have to create a file "foobarobject.h"; see other files, you'll have to create a file "foobarobject.h"; see
intobject.h for an example. */ floatobject.h for an example. */
/* Xxo objects */ /* Xxo objects */
......
...@@ -21,7 +21,22 @@ ...@@ -21,7 +21,22 @@
extern int finite(double); extern int finite(double);
#endif #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 BLOCK_SIZE 1000 /* 1K less typical malloc overhead */
#define BHEAD_SIZE 8 /* Enough for a 64-bit pointer */ #define BHEAD_SIZE 8 /* Enough for a 64-bit pointer */
#define N_FLOATOBJECTS ((BLOCK_SIZE - BHEAD_SIZE) / sizeof(PyFloatObject)) #define N_FLOATOBJECTS ((BLOCK_SIZE - BHEAD_SIZE) / sizeof(PyFloatObject))
......
...@@ -391,7 +391,7 @@ static PyGetSetDef frame_getsetlist[] = { ...@@ -391,7 +391,7 @@ static PyGetSetDef frame_getsetlist[] = {
the local variables in f_localsplus are NULL. the local variables in f_localsplus are NULL.
2. We also maintain a separate free list of stack frames (just like 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 stack frame is on the free list, only the following members have
a meaning: a meaning:
ob_type == &Frametype ob_type == &Frametype
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment