Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Renamed a local label that was accidentally grandly renamed to | Guido van Rossum | 1997-08-05 | 1 | -3/+3 |
| | | | | 'Py_Cleanup' back to 'cleanup'. | ||||
* | The last of the mass checkins for separate (sub)interpreters. | Guido van Rossum | 1997-08-02 | 1 | -9/+20 |
| | | | | | | | Everything should now work again. See the comments for the .h files mass checkin (e.g. pystate.h) for more detail. | ||||
* | Extend the "Don Beaudry hack" with "Guido's corollary" -- if the base | Guido van Rossum | 1997-07-31 | 1 | -10/+27 |
| | | | | | class has a __class__ attribute, call that to create the new class. This allows us to write metaclasses purely in C! | ||||
* | Moved PyEval_{Acquire,Release}Thread() to within the same #ifdef | Guido van Rossum | 1997-07-19 | 1 | -21/+23 |
| | | | | | | WITH_THREAD as PyEval_InitThreads(). Removed use of Py_SuppressPrintingFlag. | ||||
* | PyEval_SaveThread() and PyEval_RestoreThread() now return/take a | Guido van Rossum | 1997-07-18 | 1 | -6/+28 |
| | | | | | | | | | | | | | | | | PyThreadState pointer instead of a (frame) PyObject pointer. This makes much more sense. It is backward incompatible, but that's no problem, because (a) the heaviest users are the Py_{BEGIN,END}_ ALLOW_THREADS macros here, which have been fixed too; (b) there are very few direct users; (c) those who use it are there will probably appreciate the change. Also, added new functions PyEval_AcquireThread() and PyEval_ReleaseThread() which allows the threads created by the thread module as well threads created by others (!) to set/reset the current thread, and at the same time acquire/release the interpreter lock. Much saner. | ||||
* | Huge speedup by inlining some common integer operations: | Guido van Rossum | 1997-07-17 | 1 | -5/+75 |
| | | | | | | | int+int, int-int, int <compareop> int, and list[int]. (Unfortunately, int*int is way too much code to inline.) Also corrected a NULL that should have been a zero. | ||||
* | PyObject_Compare can raise an exception now. | Guido van Rossum | 1997-05-23 | 1 | -0/+7 |
| | |||||
* | Py_FlushLine and PyFile_WriteString now return error indicators | Guido van Rossum | 1997-05-22 | 1 | -12/+24 |
| | | | | instead of calling PyErr_Clear(). Add checking of those errors. | ||||
* | Plug leak of stack frame object in exception handling code. | Guido van Rossum | 1997-05-20 | 1 | -9/+26 |
| | | | | | Also delay DECREF calls until after the structures have been updated (for reentrancy awareness). | ||||
* | Logic for enabling mac-specific signal handling fixed (Jack) | Guido van Rossum | 1997-05-20 | 1 | -1/+1 |
| | |||||
* | (int) cast for strlen() to keep picky compilers happy. | Guido van Rossum | 1997-05-13 | 1 | -1/+1 |
| | |||||
* | Instead of importing graminit.h whenever one of the three grammar 'root' | Guido van Rossum | 1997-05-07 | 1 | -3/+3 |
| | | | | symbols is needed, define these in Python.h with a Py_ prefix. | ||||
* | Used operators from abstract.h where possible (arithmetic operators, | Guido van Rossum | 1997-05-06 | 1 | -420/+30 |
| | | | | | | get/set/del item). This removes a pile of duplication. There's no abstract operator for 'not' but I removed the function call for it anyway -- it's a little faster in-line. | ||||
* | Massive changes for separate thread state management. | Guido van Rossum | 1997-05-05 | 1 | -151/+263 |
| | | | | | All per-thread globals are moved into a struct which is manipulated separately. | ||||
* | Quickly renamed. | Guido van Rossum | 1997-04-29 | 1 | -799/+798 |
| | |||||
* | Clarify error message for unexpected keyword parameter. | Guido van Rossum | 1997-03-10 | 1 | -1/+4 |
| | |||||
* | *Don't* kill all local variables on function exit. This will be done | Guido van Rossum | 1997-02-14 | 1 | -12/+0 |
| | | | | | | | | by the frameobject dealloc when it is time for the locals to go. When there's still a traceback object referencing this stack frame, we don't want the local variables to disappear yet. (Hmm... Shouldn't they be copied to the f_locals dictionary?) | ||||
* | 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. | ||||
* | 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 | ||||
* | 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 | ||||
* | 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. | ||||
* | 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. | ||||
* | Rename DEBUG macro to Py_DEBUG | Guido van Rossum | 1996-12-30 | 1 | -3/+3 |
| | |||||
* | 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. | ||||
* | 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. | ||||
* | New permission notice, includes CNRI. | Guido van Rossum | 1996-10-25 | 1 | -13/+20 |
| | |||||
* | Raise TypeError, not KeyError, on unknown keyword argument. | Guido van Rossum | 1996-08-19 | 1 | -2/+1 |
| | |||||
* | Don't test here for negative number to float power; that belongs in | Guido van Rossum | 1996-08-16 | 1 | -9/+0 |
| | | | | floatobject.c. | ||||
* | Disable support for access statement | Guido van Rossum | 1996-08-12 | 1 | -0/+28 |
| | |||||
* | Better error message if stride used on normal sequence object | Guido van Rossum | 1996-07-30 | 1 | -2/+10 |
| | |||||
* | Changes for slice and ellipses | Guido van Rossum | 1996-07-30 | 1 | -13/+67 |
| | |||||
* | Renamed static pow() to powerop() to avoid name conflict in some compilers. | Guido van Rossum | 1996-06-19 | 1 | -4/+4 |
| | |||||
* | Removed some done "to do" items. | Guido van Rossum | 1996-05-24 | 1 | -9/+3 |
| | | | | Changed #ifdef DEBUG slightly. | ||||
* | removed sime redundant header includes and decls. | Guido van Rossum | 1996-05-23 | 1 | -8/+0 |
| | |||||
* | changes for complex and power (**) operator | Guido van Rossum | 1996-01-12 | 1 | -0/+38 |
| | |||||
* | don't return from main loop when error occurs | Guido van Rossum | 1995-12-10 | 1 | -1/+2 |
| | |||||
* | spell TraceBack with capital B | Guido van Rossum | 1995-09-18 | 1 | -1/+1 |
| | |||||
* | empty kw dict is ok for builtins | Guido van Rossum | 1995-08-04 | 1 | -1/+6 |
| | |||||
* | fix bogus DECREF in finally clause | Guido van Rossum | 1995-07-28 | 1 | -0/+1 |
| | |||||
* | changes for keyword args to built-in functions and classes | Guido van Rossum | 1995-07-26 | 1 | -19/+43 |
| | |||||
* | keyword arguments and faster calls | Guido van Rossum | 1995-07-18 | 1 | -364/+459 |
| | |||||
* | 3rd arg for raise; INCOMPLETE keyword parameter passing (currently ↵ | Guido van Rossum | 1995-07-07 | 1 | -30/+151 |
| | | | | f(kw=value) is seen as f('kw', value)) | ||||
* | fix dusty debugging macros | Guido van Rossum | 1995-03-29 | 1 | -1/+1 |
| | |||||
* | remove unused code for tp_call | Guido van Rossum | 1995-03-22 | 1 | -13/+1 |
| | |||||
* | various tuple related optimizations; remove unused b/w compat code from ceval.c | Guido van Rossum | 1995-03-09 | 1 | -74/+26 |
| |