Commit Graph

5307 Commits

Author SHA1 Message Date
Guido van Rossum c6d0670f1b Intern the strings created in getattr() and setattr(). 1997-01-18 07:57:16 +00:00
Guido van Rossum 2a61e7428d String interning. 1997-01-18 07:55:05 +00:00
Guido van Rossum ee5cf9b672 Bump API version due to the various speedup hacks. 1997-01-18 07:54:03 +00:00
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