Commit graph

5004 commits

Author SHA1 Message Date
Guido van Rossum
1e6e9a2368 Two speedup hacks. Caching the hash saves recalculation of a string's
hash value.  Interning strings (which requires hash caching) tries to
ensure that only one string object with a given value exists, so
equality tests are one pointer comparison.  Together, these can speed
the interpreter up by as much as 20%.  Each costs the size of a long
or pointer per string object.  In addition, interned strings live
until the end of times.  If you are concerned about memory footprint,
simply comment the #define out here (and rebuild everything!).
1997-01-18 07:53:23 +00:00
Guido van Rossum
3dfd53b4c8 Add "if (x != NULL) continue;" (or similar for err==0) before the
break to most cases, as suggested by Tim Peters.  This gives another
8-10% speedup.
1997-01-18 02:46:13 +00:00
Guido van Rossum
04f2b453bb Version 1.1. Fix memory leak and expensive comparison with None. 1997-01-18 02:20:37 +00:00
Guido van Rossum
3e7ae7ab17 Fix the _setmode() patch for MS_WINDOWS: include <fcntl.h> and use
fileno(std*).
1997-01-17 22:05:38 +00:00
Guido van Rossum
e3258019c8 Remove obsolete PyFrame_ExtendStack. 1997-01-17 22:03:32 +00:00
Guido van Rossum
3d77d2b10b Removed accessobject.c from file list. 1997-01-17 21:56:08 +00:00
Guido van Rossum
e9fd28dae5 Add stacksize argument to new.code(). 1997-01-17 21:12:06 +00:00
Guido van Rossum
792fd435ec Comment out extend_stack() -- it is no longer needed. 1997-01-17 21:07:57 +00:00
Guido van Rossum
98a9b312e8 Marshal the new stacksize item in code objects. 1997-01-17 21:07:08 +00:00
Guido van Rossum
7af8130857 Working semaphore implementation by Sjoerd. 1997-01-17 21:06:41 +00:00
Guido van Rossum
dd5db43905 New MAGIC number (code objects have one more item when marshalled). 1997-01-17 21:06:11 +00:00
Guido van Rossum
62f7d15d0b Use the stack size from the code object and the CO_MAXBLOCKS constant
from compile.h.  Remove all eval stack overflow checks.
1997-01-17 21:05:28 +00:00
Guido van Rossum
8b993a98db Add co_stacksize field to codeobject structure, and stacksize argument
to PyCode_New() argument list.  Move MAXBLOCKS constant to conpile.h.

Added accurate calculation of the actual stack size needed by the
generated code.

Also commented out all fprintf statements (except for a new one to
diagnose stack underflow, and one in #ifdef'ed out code), and added
some new TO DO suggestions (now that the stacksize is taken of the TO
DO list).
1997-01-17 21:04:03 +00:00
Guido van Rossum
3f6e408a31 Add co_stacksize field to codeobject structure, and stacksize argument
to PyCode_New() argument list.  Also add CO_MAXBLOCKS constant
indicating the maximum static nesting supported by the compiler.
1997-01-17 20:59:26 +00:00
Guido van Rossum
00f86e6086 Of course, when the type of the argument to dis() is unsupported, it
should raise TypeError, not ValueError...
1997-01-17 20:08:18 +00:00
Guido van Rossum
bd30795192 More user friedly interface:
dis() still disassembles the last frame of the lats stack trace.

dis(x) disassembles x, which may be a code object, function, or method.

disassemble(co, [lasti]) disassembles a code object; the lasti
argument is now optional.

disco(...) is an alias for disassemble(...), for backward compatibility.
1997-01-17 20:05:04 +00:00
Roger E. Masse
c905fffa15 Added Sjoerd's submitted 'ratecv' method. Made corrections for new names.
Reindented.
1997-01-17 18:12:04 +00:00
Guido van Rossum
1d1394e660 Make as sure as we can that the forked child does not return and
continue the tests.
1997-01-17 16:13:15 +00:00
Roger E. Masse
ed648a25bd Renamed, but not tested. Guido will you try your test script on this? 1997-01-17 16:08:55 +00:00
Roger E. Masse
e474fb36ab Renamed. 1997-01-17 16:00:02 +00:00
Roger E. Masse
5c7e711bb1 Test output for the SGI cl C module test script. 1997-01-17 15:59:16 +00:00
Roger E. Masse
69ed964f86 Lame test script for the SGI cl C module. 1997-01-17 15:58:35 +00:00
Barry Warsaw
e886ea916e (puremodule.c): New module which exports the Purify and Quantify C API
to Python.  Minimal documentation is included in comments at the top
of the file, and in the Misc/PURIFY.README file.  Note that this
module must be statically linked since Pure doesn't provide shared
stubs libraries.

(Setup.in): Added commented template for pure module

(syslogmodule.c): ins() function wasn't declared static.
1997-01-17 00:01:33 +00:00
Barry Warsaw
bb779ec4d9 README file for hints on Purify'ing or Quantify'ing the Python
interpreter.  It also mentions the soon to be checked in pure module.
1997-01-16 23:55:38 +00:00
Roger E. Masse
d9240d19b2 Already renamed. Indented. 1997-01-16 22:05:33 +00:00
Roger E. Masse
eca63b83ac Output from test script for the bsddb C extension module. 1997-01-16 22:04:35 +00:00
Roger E. Masse
352e186749 Test script for the bsddb C extension module. 1997-01-16 22:04:10 +00:00
Guido van Rossum
7d18159614 Rewrote lookmapping() according to suggestions by Jyrki Alakuijala. 1997-01-16 21:06:45 +00:00
Roger E. Masse
3b039faf19 Minor output message change 1997-01-16 18:53:01 +00:00
Guido van Rossum
d0bc9cb869 Merge several mods:
- add opcodes BINARY_LSHIFT ... BINARY_OR

- remove RESERVE_FAST

- Skip M's suggestion for displaying which comparison operator is meant
1997-01-16 18:52:24 +00:00
Roger E. Masse
5f4ce18898 Renamed. 1997-01-16 17:10:22 +00:00
Roger E. Masse
469848a1ea As per GvR recomendations, remove the restriction that binhex only run on
big-endian machines.  This is done by directing the struct module's pack
and unpack methods to treat the data always in bin endian format.
This has been tested on irix (big endian) and solaris x86 (little endian)
but not yet on the mac.
1997-01-16 16:51:57 +00:00
Barry Warsaw
47d3500787 set_key(): Use Py_CHARMASK macro to get the character from the array
unsigned.  This fixes the 8bit-char-in-key platform incompatibility.

I also removed the old backwards compatibility code, and the commented
lisp rotor code.  I retained the lisp docstrings as comments preceding
each function.
1997-01-16 16:49:44 +00:00
Roger E. Masse
4852d37fdd test output for the binascii C module test script. 1997-01-16 16:44:40 +00:00
Roger E. Masse
2a1c83441d test script for the binascii C module. 1997-01-16 16:44:09 +00:00
Barry Warsaw
fa701a88ab reformatted
memory leak in Tkapp_(Create|Delete)FileHandler plugged.

standard eyeballing
1997-01-16 00:15:11 +00:00
Barry Warsaw
e4d7821ea4 test is no longer needed 1997-01-16 00:13:11 +00:00
Roger E. Masse
52a6ea7b7d Opps. Added tests for the last two methods that were missing from
the test program: 'grey2rgb' and 'rgb2grey'
1997-01-15 20:58:55 +00:00
Roger E. Masse
e17ec8d149 Modified to use 'rgbimg' instead of the SGI specific 'imgfile' for reading
the imagefiles and converting tham to a format suitable for imageop.  Also
added two more tests 'rgb2rgb8' and 'rgb82rgb' which remove the dependence
on the file 'greytest.rgb'.

Note: test_imgfile.py still uses 'greytest.rgb'
1997-01-15 20:07:07 +00:00
Guido van Rossum
1ce7c6fde8 Irix 6 specific files -- thanks Sjoerd! 1997-01-15 19:19:19 +00:00
Jack Jansen
6ad8d13fe2 "ported" Guido's embedding demo to the mac, and wrote some minimal
notes on embedding on the mac.
1997-01-15 16:53:37 +00:00
Jack Jansen
52ac037249 Added PyMac_Initialize() routine, to be used by embedding programs (in
stead of standard Py_Initialize(), which it calls).
1997-01-15 15:49:08 +00:00
Guido van Rossum
5cd752028c Describe new ("unsigned") behavior of hex() and oct(). 1997-01-14 18:44:23 +00:00
Barry Warsaw
9a0313cd62 Removed _xdr module 1997-01-14 18:20:26 +00:00
Barry Warsaw
bd8a91198d test(): close the pipe, just to shut up Purify. 1997-01-14 17:49:15 +00:00
Barry Warsaw
93d29b6895 Eliminated gcc -Wall complaints:
- Quieted gcc -Wall by removing unused local variables.

    - Added some choice parentheses around assignments in conditional
      tests.

    - Removed an unused (and seemingly unreachable) err label in
      load_short_binstring().

    - in Unpickler_load(), removed \. in string format.

    - init_stuff() was declared to return an int, but had these
      problems:

	- it was returning NULL instead of 0 or 1 in some cases
	- it was falling of the end of the routine without returning
	  anything
	- the call of init_stuff() in initcPickle() was never checking
	  the return value anyway.

      I changed all this by returning 1 in the case of errors, 0 when
      no error occurred.  Then in initcPickle(), if init_stuff()
      returns non-zero, I call Py_FatalError().

Suppressing my urge to reformat according to Python coding standards!
:-)
1997-01-14 17:45:08 +00:00
Barry Warsaw
61a63e152d Quieted gcc -Wall by removing unused local variables.
Suppressing my urge to reformat according to Python coding standards!
:-)
1997-01-14 17:38:28 +00:00
Barry Warsaw
54dbf02da2 Quieted gcc -Wall by removing unused local variables. 1997-01-14 17:37:32 +00:00
Barry Warsaw
845a4c6bb7 Formatting. 1997-01-14 17:36:36 +00:00
Barry Warsaw
41317d120d Obsolete, now that xdrlib.py uses the new-and-improved struct module. 1997-01-14 17:34:06 +00:00