Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Two small changes: | Guido van Rossum | 1997-01-27 | 1 | -5/+3 |
| | | | | | | | | | - Use co->... instead of f->f_code->...; save an extra lookup of what we already have in a local variable). - Remove test for nlocals > 0 before setting fastlocals to f->f_localsplus; 0 is a rare case and the assignment is safe even then. | ||||
* | Plug a leak with calling something other than a function or method is | Guido van Rossum | 1997-01-27 | 1 | -4/+3 |
| | | | | | | | called with keyword arguments -- the keyword and value were leaked. This affected for instance with a __call__() method. Bug reported and fix supplied by Jim Fulton. | ||||
* | Patches for (two forms of) optional dynamic execution profiling -- | Guido van Rossum | 1997-01-24 | 1 | -0/+68 |
| | | | | | | i.e., counting opcode frequencies, or (with DXPAIRS defined) opcode pair frequencies. Define DYNAMIC_EXECUTION_PROFILE on the command line (for this file and for sysmodule.c) to enable. | ||||
* | Change the control flow for error handling in the function prelude to | Guido van Rossum | 1997-01-24 | 1 | -23/+17 |
| | | | | | jump to the "Kill locals" section at the end. Add #ifdef macintosh bandaid to make sure we call sigcheck() on the Mac. | ||||
* | Added optional interface for dynamic execution profile (to be gathered | Guido van Rossum | 1997-01-24 | 1 | -2/+11 |
| | | | | in ceval.c). | ||||
* | Get the line number from PyCode_Addr2Line instead of believing | Guido van Rossum | 1997-01-24 | 1 | -1/+4 |
| | | | | tb_lineno. Store it in tb_lineno for the user. | ||||
* | New magin number (because of linenumber table). | Guido van Rossum | 1997-01-24 | 1 | -1/+1 |
| | |||||
* | Marshal the line number table of code objects. | Guido van Rossum | 1997-01-24 | 1 | -1/+9 |
| | |||||
* | Instead of emitting SET_LINENO instructions, generate a line number | Guido van Rossum | 1997-01-24 | 1 | -6/+102 |
| | | | | | | table which is incorporated in the code object. This way, the runtime overhead to keep track of line numbers is only incurred when an exception has to be reported. | ||||
* | Kill all local variables on function return. This closes a gigantic | Guido van Rossum | 1997-01-21 | 1 | -0/+12 |
| | | | | | leak of memory and file descriptors (thanks for Roj for reporting that!). Alas, the speed goes down by 5%. :-( | ||||
* | Only call sigcheck() at the ticker code if we don't have true signals. | Guido van Rossum | 1997-01-21 | 1 | -2/+6 |
| | | | | | | | This is safe now that both intrcheck() and signalmodule.c schedule a sigcheck() call via Py_AddPendingCall(). This gives another 7% speedup (never run such a test twice ;-). | ||||
* | Cleanup: | Guido van Rossum | 1997-01-21 | 1 | -222/+10 |
| | | | | | | | | | | - fix bug in Py_MakePendingCalls() with threading - fix return type of do_raise - remove build_slice (same as PySlice_New) - remove code inside #if 0 - remove code inside #ifdef CHECK_STACK - remove code inside #ifdef SUPPORT_OBSOLETE_ACCESS - comment about newimp.py should refer to ni.py | ||||
* | get build info from elsewhere | Guido van Rossum | 1997-01-20 | 1 | -9/+2 |
| | |||||
* | Changes for frame object speedup: | Guido van Rossum | 1997-01-20 | 1 | -14/+2 |
| | | | | | | - get fastlocals differently - call newframeobject() with fewer arguments - toss getowner(), which was unused anyway | ||||
* | Remove unused variable. | Guido van Rossum | 1997-01-18 | 1 | -1/+0 |
| | |||||
* | Intern the string "__complex__". | Guido van Rossum | 1997-01-18 | 1 | -1/+1 |
| | |||||
* | Intern all names and varnames in newcodeobject(), plus those string | Guido van Rossum | 1997-01-18 | 1 | -7/+22 |
| | | | | | literals that look like identifiers. Also intern all strings used as names during the compilation. | ||||
* | Add "if (x != NULL) continue;" (or similar for err==0) before the | Guido van Rossum | 1997-01-18 | 1 | -18/+60 |
| | | | | | break to most cases, as suggested by Tim Peters. This gives another 8-10% speedup. | ||||
* | Marshal the new stacksize item in code objects. | Guido van Rossum | 1997-01-17 | 1 | -1/+3 |
| | |||||
* | Working semaphore implementation by Sjoerd. | Guido van Rossum | 1997-01-17 | 1 | -3/+64 |
| | |||||
* | New MAGIC number (code objects have one more item when marshalled). | Guido van Rossum | 1997-01-17 | 1 | -1/+2 |
| | |||||
* | Use the stack size from the code object and the CO_MAXBLOCKS constant | Guido van Rossum | 1997-01-17 | 1 | -2/+10 |
| | | | | from compile.h. Remove all eval stack overflow checks. | ||||
* | Add co_stacksize field to codeobject structure, and stacksize argument | Guido van Rossum | 1997-01-17 | 1 | -62/+253 |
| | | | | | | | | | | | | 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). | ||||
* | Check for duplicate keyword arguments at compile time. | Guido van Rossum | 1997-01-06 | 1 | -12/+20 |
| | |||||
* | Make builtin_module_names a tuple instead of a list. | Guido van Rossum | 1997-01-06 | 1 | -0/+5 |
| | |||||
* | Rename DEBUG macro to Py_DEBUG | Guido van Rossum | 1996-12-30 | 3 | -9/+9 |
| | |||||
* | Moved the raise logic out of the main interpreter loop to a separate function. | Guido van Rossum | 1996-12-10 | 1 | -60/+127 |
| | | | | | | | | | | | | | | | The raise logic has one additional feature: if you raise <class>, <value> where <value> is not an instance, it will construct an instance using <value> as argument. If <value> is None, <class> is instantiated without arguments. If <value> is a tuple, it is used as the argument list. This feature is intended to make it easier to upgrade code from using string exceptions to using class exceptions; without this feature, you'd have to change every raise statement from ``raise X'' to ``raise X()'' and from ``raise X, y'' to ``raise X(y)''. The latter is still the recommended form (because it has no ambiguities about the number of arguments), but this change makes the transition less painful. | ||||
* | Better way to handle 64-bit ints, keeping gcc -Wall happy. | Guido van Rossum | 1996-12-10 | 1 | -30/+18 |
| | | | | Tested with AMK's help. | ||||
* | Add unistd.h to make gcc -Wall happy. | Guido van Rossum | 1996-12-10 | 1 | -0/+4 |
| | |||||
* | Add const to error and newstring functions | Guido van Rossum | 1996-12-10 | 1 | -1/+1 |
| | |||||
* | Keep gcc -Wall happy. | Guido van Rossum | 1996-12-05 | 6 | -28/+38 |
| | |||||
* | Support __complex__ method on instances, for complex() conversion. | Guido van Rossum | 1996-12-05 | 1 | -1/+23 |
| | | | | Keep gcc -Wall happy. | ||||
* | Change the Don Beaudry hack into the Don B + Jim F hack; now, if *any* | Guido van Rossum | 1996-12-05 | 1 | -28/+26 |
| | | | | | | base class is special it gets invoked. Make gcc -Wall happy. | ||||
* | Some extra flags that an HPUX user wants me to add. | Guido van Rossum | 1996-12-05 | 1 | -2/+2 |
| | |||||
* | Tentative changes to make this work better on 64-bit machines. | Guido van Rossum | 1996-12-05 | 1 | -3/+66 |
| | | | | | A plain int that doesn't fit in 32 bits will be marshalled using a new type. 32 bits machines can't handle this and will issue a warning. | ||||
* | New permission notice, includes CNRI. | Guido van Rossum | 1996-10-25 | 38 | -495/+761 |
| | |||||
* | Forget about Ellipses b/w compatibility. | Guido van Rossum | 1996-10-16 | 1 | -2/+0 |
| | |||||
* | Ellipses -> Ellipsis rename (the dictionary really says that it should | Guido van Rossum | 1996-10-11 | 3 | -8/+10 |
| | | | | | | | | be Ellipsis!). Bumped the API version because a linker-visible symbol is affected. Old C code will still compile -- there's a b/w compat macro. Similarly, old Python code will still run, builtin exports both Ellipses and Ellipsis. | ||||
* | Sjoerd's thread changes (including down_sema typo fix). | Guido van Rossum | 1996-10-08 | 8 | -18/+47 |
| | | | | Note: waitflag not supported on NT. | ||||
* | Added line number to most compile-time error messages. | Guido van Rossum | 1996-09-17 | 1 | -88/+90 |
| | |||||
* | Rationalized MS ifdefs | Guido van Rossum | 1996-09-11 | 3 | -18/+10 |
| | |||||
* | Changes to setpythonpath(): | Guido van Rossum | 1996-09-10 | 1 | -4/+23 |
| | | | | | Test for / as well as for SEP for MS filenames. Drop trailing separator from sys.path[0] for MS and Unix filenames. | ||||
* | Stupid bug: complex(x,y) would yield x+xj | Guido van Rossum | 1996-09-07 | 1 | -1/+1 |
| | |||||
* | *** empty log message *** | Guido van Rossum | 1996-08-29 | 1 | -0/+26 |
| | |||||
* | Needed more includes... | Guido van Rossum | 1996-08-29 | 1 | -6/+3 |
| | |||||
* | *** empty log message *** | Guido van Rossum | 1996-08-29 | 1 | -0/+22 |
| | |||||
* | typo (#indef -> #undef) | Guido van Rossum | 1996-08-26 | 1 | -1/+1 |
| | |||||
* | Afterthough: leave both leading underscores in, | Guido van Rossum | 1996-08-24 | 1 | -5/+5 |
| | | | | so __spam becomes _ClassName__spam. | ||||
* | Oops need to mangle global statement separately | Guido van Rossum | 1996-08-24 | 1 | -0/+7 |
| | |||||
* | Name mangling, what the heck! | Guido van Rossum | 1996-08-24 | 1 | -3/+80 |
| |