| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
and use it for string copy operations. this gives a 20% speedup on some
string benchmarks.
|
|
|
|
|
| |
lining killed performance on certain Intel boxes, and the "aggressive"
macro itself gives most of the benefits on others.
|
|
|
|
| |
LOCAL inlining; also added some missing whitespace
|
| |
|
|
|
|
|
| |
for SRE and others. applied Py_LOCAL to relevant portion of ceval,
which gives a 1-2% speedup on my machine. ymmv.
|
| |
|
| |
|
| |
|
|
|
|
| |
this and it is more efficient than to use !Py_IS_INFINITE(X) && !Py_IS_NAN(X). No change on other platforms
|
| |
|
| |
|
| |
|
|
|
|
|
| |
linux with gcc 4.0.2, after talking to Tim.
<ymmit> But it won't break anything anywhere, so don't worry :-)
|
|
|
|
| |
comments in the file. (SF #1455641)
|
| |
|
|
|
|
|
| |
in pyport.h. Changed PyString_FromFormatV() to use it
instead of inlining its own maze of #if'ery.
|
| |
|
| |
|
|
|
|
|
|
| |
INT_MIN is used in Python/compile.c, but it was also used
in Objects/abstract.c Python/getargs.c. If we need it for compile.c,
we can get it from the same place as the other files.
|
|
|
|
|
|
|
|
|
|
| |
This change implements a new bytecode compiler, based on a
transformation of the parse tree to an abstract syntax defined in
Parser/Python.asdl.
The compiler implementation is not complete, but it is in stable
enough shape to run the entire test suite excepting two disabled
tests.
|
|
|
|
| |
Itanium2 with HP's 64-bit compiler (SF patch #1225212).
|
|
|
|
|
|
| |
today. pyconfig.h can override it if not, and can also override
Py_IS_INFINITY now. Py_IS_NAN and Py_IS_INFINITY are overridden now
for Microsoft compilers, using efficient MS-specific spellings.
|
|
|
|
|
|
|
| |
or broken by basic ctype functions in 4.4BSD descendants. This
will be fixed in their future development branches but they'll keep
the POSIX-incompatibility for their backward-compatiblities in near
future.
|
|
|
|
| |
modules and objects.
|
|
|
|
| |
This fixes a problem that math.sqrt(-1) doesn't raise math.error.
|
| |
|
|
|
|
| |
Remove BAD_EXEC_PROTOYPE (leftover from IRIX 4 demolition).
|
| |
|
|
|
|
|
|
| |
The embed2.diff patch solves the user's problem by exporting the missing
symbols from the Python core so Python can be embedded in another Cygwin
application (well, at lest vim).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which still supports shared extensions. It takes advantage the latest
Cygwin binutils (i.e., 20030901-1) which can export symbols from
executables:
http://cygwin.com/ml/cygwin-announce/2003-09/msg00002.html
Additionally, it finally lays to rest the following mailing list
subthread:
http://mail.python.org/pipermail/python-list/2002-May/102500.html
I tested the patch under Red Hat Linux 8.0 too
|
|
|
|
| |
riscospath.extsep, and use os.extsep throughout.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch enables shared extension
modules to build cleanly under Cygwin without
moving the static initialization of certain function
pointers (i.e., ones exported from the Python
DLL core) to a module initialization function.
Additionally, this patch fixes the modules that
have been changed in the past to accommodate
Cygwin.
|
|
|
|
|
|
|
| |
This can cause core dumps when Python runs. Python relies on the 754-
(and C99-) mandated default "non-stop" mode for FP exceptions. This
patch from Ben Laurie disables at least one FP exception on FreeBSD at
Python startup time.
|
| |
|
|
|
|
| |
It would be nice to support other compilers besides gcc.
|
|
|
|
| |
might use __attribute__ in other ways (e.g. CodeWarrior).
|
|
|
|
|
| |
also adds 'extern' to PyAPI_DATA rather than at each declaration, as
discussed with Tim and Guido.
|
| |
|
|
|
|
|
| |
breaks other platforms (in this case, the hack for broken Cray systems in
turn caused failure on a Mac system broken in a different way).
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch complies with the following request found
near the top of configure.in:
# This is for stuff that absolutely must end up in pyconfig.h.
# Please use pyport.h instead, if possible.
I tested this patch under Cygwin, Win32, and Red
Hat Linux. Python built and ran successfully on
each of these platforms.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch complies with the following request found
near the top of configure.in:
# This is for stuff that absolutely must end up in pyconfig.h.
# Please use pyport.h instead, if possible.
I tested this patch under Cygwin, Win32, and Red
Hat Linux. Python built and ran successfully on
each of these platforms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PyMem_{Del, DEL} doesn't work yet (compilation problems).
pyport.h: _PyMem_EXTRA is gone.
pmem.h: Repaired comments. PyMem_{Malloc, MALLOC} and
PyMem_{Realloc, REALLOC} now make the same x-platform guarantees when
asking for 0 bytes, and when passing a NULL pointer to the latter.
object.c: PyMem_{Malloc, Realloc} just call their macro versions
now, since the latter take care of the x-platform 0 and NULL stuff
by themselves now.
pypcre.c, grow_stack(): So sue me. On two lines, this called
PyMem_RESIZE to grow a "const" area. It's not legit to realloc a
const area, so the compiler warned given the new expansion of
PyMem_RESIZE. It would have gotten the same warning before if it
had used PyMem_Resize() instead; the older macro version, but not the
function version, silently cast away the constness. IMO that was a wrong
thing to do, and the docs say the macro versions of PyMem_xyz are
deprecated anyway. If somebody else is resizing const areas with the
macro spelling, they'll get a warning when they recompile now too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another year in the quest to out-guess random C behavior.
Added macros Py_ADJUST_ERANGE1(X) and Py_ADJUST_ERANGE2(X, Y). The latter
is useful for functions with complex results. Two corrections to errno-
after-libm-call are attempted:
1. If the platform set errno to ERANGE due to underflow, clear errno.
Some unknown subset of libm versions and link options do this. It's
allowed by C89, but I never figured anyone would do it.
2. If the platform did not set errno but overflow occurred, force
errno to ERANGE. C89 required setting errno to ERANGE, but C99
doesn't. Some unknown subset of libm versions and link options do
it the C99 way now.
Bugfix candidate, but hold off until some Linux people actually try it,
with and without -lieee. I'll send a help plea to Python-Dev.
|
|
|
|
|
|
|
|
|
|
|
| |
platform realloc(p, 0) returns NULL, so MALLOC_ZERO_RETURNS_NULL can
be correctly undefined yet realloc(p, 0) can return NULL anyway.
Prevent realloc(p, 0) doing free(p) and returning NULL via a different
hack. Would probably be better to get rid of MALLOC_ZERO_RETURNS_NULL
entirely.
Bugfix candidate.
|
|
|
|
|
|
| |
Include/
osdefs.h // EMX promotes Un*x path separators
pyport.h
|
| |
|