Jeremy Hylton
d4ceb31664
Bump the magic number to avoid sharing bytecode between 2.3 and 2.4.
...
Revise the long comment that explained details of the magic number
in gory detail.
2004-04-01 02:45:22 +00:00
Andrew MacIntyre
da4d6cb573
OS/2 VACPP build updates/fixes
2004-03-29 11:53:38 +00:00
Armin Rigo
01ab279056
Marshal clean-up (SF patch #873224 )
2004-03-26 15:09:27 +00:00
Nicholas Bastin
2786d90617
A few more PyThreadState_Get to PyThreadState_GET conversions
2004-03-25 02:16:23 +00:00
Nicholas Bastin
e5662aedef
Changed random calls to PyThreadState_Get() to use the macro
2004-03-24 22:22:12 +00:00
Nicholas Bastin
c69ebe8d50
Enable the profiling of C functions (builtins and extensions)
2004-03-24 21:57:10 +00:00
Martin v. Löwis
83969eeeeb
Decref all if ensure_fromlist fails. Fixes #876533 .
...
Backported to 2.3.
2004-03-23 16:28:13 +00:00
Armin Rigo
5d2c68359b
Lost reference.
2004-03-22 20:16:58 +00:00
Armin Rigo
bf57a14522
Fix SF bug #765624 .
2004-03-22 19:24:58 +00:00
Armin Rigo
80d937e986
Fix for line events in the case:
...
def f(a):
if a:
print 5
else:
pass
2004-03-22 17:52:53 +00:00
Nicholas Bastin
a7604bf1b4
Moved tracebackobject to traceback.h, Closes SF Bug #497067
2004-03-21 18:37:23 +00:00
Raymond Hettinger
ff5bc50bb0
Improve byte coding for multiple assignments.
...
Gives 30% speedup on "a,b=1,2" and 25% on "a,b,c=1,2,3".
2004-03-21 15:12:00 +00:00
Armin Rigo
9dbf9084e8
Cancelled checkin, sorry.
2004-03-20 21:50:13 +00:00
Armin Rigo
1515fc2a01
A 2% speed improvement with gcc on low-endian machines. My guess is that this
...
new pattern for NEXTARG() is detected and optimized as a single (*short)
loading.
2004-03-20 20:03:17 +00:00
Raymond Hettinger
fba1cfc49a
LIST_APPEND is predicably followed by JUMP_ABSOLUTE.
...
Reduces loop overhead by an additional 10%.
2004-03-12 16:33:17 +00:00
Raymond Hettinger
2d783e9b16
Move the code for BREAK and CONTINUE_LOOP to be near FOR_ITER.
...
Makes it more likely that all loop operations are in the cache
at the same time.
2004-03-12 09:12:22 +00:00
Raymond Hettinger
db0de9e7ca
Speedup for-loops by inlining PyIter_Next(). Saves duplicate tests
...
and a function call resulting in a 15% reduction of total loop overhead
(as measured by timeit.Timer('pass')).
2004-03-12 08:41:36 +00:00
Raymond Hettinger
f114a3ae63
Refactor and optimize code for UNPACK_SEQUENCE.
...
* Defer error handling for wrong number of arguments to the
unpack_iterable() function. Cuts the code size almost in half.
* Replace function calls to PyList_Size() and PyTuple_Size() with
their smaller and faster macro counterparts.
* Move the constant structure references outside of the inner loops.
2004-03-08 23:25:30 +00:00
Raymond Hettinger
dd80f76265
SF patch #910929 : Optimize list comprehensions
...
Add a new opcode, LIST_APPEND, and apply it to the code generation for
list comprehensions. Reduces the per-loop overhead by about a third.
2004-03-07 07:31:06 +00:00
Hye-Shik Chang
30e97dbe96
SF Patch #902444 : Use process scope thread on FreeBSD. System scope
...
is too expensive on FreeBSD's KSE threading infrastructure and
even test_threadedimport fails on default setting.
2004-03-04 06:35:57 +00:00
Skip Montanaro
6babcc2ad4
typo
2004-03-03 08:42:23 +00:00
Skip Montanaro
786ea6bc23
Add pystack definition to Misc/gdbinit with some explanation of its behavior
...
and add flag comments to ceval.c and main.c alerting people to the coupling
between pystack and the layout of those files.
2004-03-01 15:44:05 +00:00
Michael W. Hudson
ecfeb7f095
This is my patch #876198 plus a NEWS entry and a header frob.
...
Remove the ability to use (from C) arbitrary objects supporting the
read buffer interface as the co_code member of code objects.
2004-02-12 15:28:27 +00:00
Skip Montanaro
7befb9966e
remove support for missing ANSI C header files (limits.h, stddef.h, etc).
2004-02-10 16:50:21 +00:00
Raymond Hettinger
a72169871d
SF patch #884022 : dynamic execution profiling vs opcode prediction
...
(Contributed by Andrew I MacIntyre.)
disables opcode prediction when dynamic execution
profiling is in effect, so the profiling counters at
the top of the main interpreter loop in eval_frame()
are updated for each opcode.
2004-02-08 19:59:27 +00:00