Guido van Rossum
be27026c09
Py_FlushLine and PyFile_WriteString now return error indicators
...
instead of calling PyErr_Clear(). Add checking of those errors.
1997-05-22 22:26:18 +00:00
Guido van Rossum
df4c308f5a
Plug leak of stack frame object in exception handling code.
...
Also delay DECREF calls until after the structures have been updated
(for reentrancy awareness).
1997-05-20 17:06:11 +00:00
Guido van Rossum
df0d00e29b
Logic for enabling mac-specific signal handling fixed (Jack)
1997-05-20 15:57:49 +00:00
Guido van Rossum
5f15b96c36
(int) cast for strlen() to keep picky compilers happy.
1997-05-13 17:50:01 +00:00
Guido van Rossum
b05a5c7698
Instead of importing graminit.h whenever one of the three grammar 'root'
...
symbols is needed, define these in Python.h with a Py_ prefix.
1997-05-07 17:46:13 +00:00
Guido van Rossum
fc49073cd0
Used operators from abstract.h where possible (arithmetic operators,
...
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.
1997-05-06 15:06:49 +00:00
Guido van Rossum
a027efa5bf
Massive changes for separate thread state management.
...
All per-thread globals are moved into a struct which is manipulated
separately.
1997-05-05 20:56:21 +00:00
Guido van Rossum
b209a116cf
Quickly renamed.
1997-04-29 18:18:01 +00:00
Guido van Rossum
c43b685054
Clarify error message for unexpected keyword parameter.
1997-03-10 22:58:23 +00:00
Guido van Rossum
0d85be19e2
*Don't* kill all local variables on function exit. This will be done
...
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?)
1997-02-14 16:32:14 +00:00
Guido van Rossum
deb0c5e66c
Two small changes:
...
- 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.
1997-01-27 23:42:36 +00:00
Guido van Rossum
d0eb429b88
Plug a leak with calling something other than a function or method is
...
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.
1997-01-27 21:30:09 +00:00
Guido van Rossum
950361c6ca
Patches for (two forms of) optional dynamic execution profiling --
...
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.
1997-01-24 13:49:28 +00:00
Guido van Rossum
8c5df06ec7
Change the control flow for error handling in the function prelude to
...
jump to the "Kill locals" section at the end. Add #ifdef macintosh
bandaid to make sure we call sigcheck() on the Mac.
1997-01-24 04:19:24 +00:00
Guido van Rossum
a4240132ec
Kill all local variables on function return. This closes a gigantic
...
leak of memory and file descriptors (thanks for Roj for reporting
that!). Alas, the speed goes down by 5%. :-(
1997-01-21 21:18:36 +00:00
Guido van Rossum
70d44787a3
Only call sigcheck() at the ticker code if we don't have true signals.
...
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 ;-).
1997-01-21 06:15:24 +00:00
Guido van Rossum
1aa14838d2
Cleanup:
...
- 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
1997-01-21 05:34:20 +00:00
Guido van Rossum
768360243a
Changes for frame object speedup:
...
- get fastlocals differently
- call newframeobject() with fewer arguments
- toss getowner(), which was unused anyway
1997-01-20 04:26:20 +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
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
408027ea46
Rename DEBUG macro to Py_DEBUG
1996-12-30 16:17:54 +00:00
Guido van Rossum
0aa9ee65ab
Moved the raise logic out of the main interpreter loop to a separate function.
...
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.
1996-12-10 18:07:35 +00:00
Guido van Rossum
150b2df682
Change the Don Beaudry hack into the Don B + Jim F hack; now, if *any*
...
base class is special it gets invoked.
Make gcc -Wall happy.
1996-12-05 23:17:11 +00:00
Guido van Rossum
d266eb460e
New permission notice, includes CNRI.
1996-10-25 14:44:06 +00:00
Guido van Rossum
6d43c5de5a
Raise TypeError, not KeyError, on unknown keyword argument.
1996-08-19 22:09:16 +00:00
Guido van Rossum
bf51afa049
Don't test here for negative number to float power; that belongs in
...
floatobject.c.
1996-08-16 20:49:17 +00:00
Guido van Rossum
0dfcf753ad
Disable support for access statement
1996-08-12 22:00:53 +00:00
Guido van Rossum
3b9c6677f8
Better error message if stride used on normal sequence object
1996-07-30 18:40:29 +00:00
Guido van Rossum
8861b74445
Changes for slice and ellipses
1996-07-30 16:49:37 +00:00
Guido van Rossum
3b4da59cd6
Renamed static pow() to powerop() to avoid name conflict in some compilers.
1996-06-19 21:49:17 +00:00
Guido van Rossum
8c1e150215
Removed some done "to do" items.
...
Changed #ifdef DEBUG slightly.
1996-05-24 20:49:24 +00:00
Guido van Rossum
5e3e426961
removed sime redundant header includes and decls.
1996-05-23 22:49:38 +00:00
Guido van Rossum
50564e8dae
changes for complex and power (**) operator
1996-01-12 01:13:16 +00:00
Guido van Rossum
72b56e831f
don't return from main loop when error occurs
1995-12-10 04:57:42 +00:00
Guido van Rossum
9d78d8d2fb
spell TraceBack with capital B
1995-09-18 21:29:36 +00:00
Guido van Rossum
e3e61c1642
empty kw dict is ok for builtins
1995-08-04 04:14:47 +00:00
Guido van Rossum
0db1ef96ac
fix bogus DECREF in finally clause
1995-07-28 23:06:00 +00:00
Guido van Rossum
ff8b494cf0
changes for keyword args to built-in functions and classes
1995-07-26 18:16:42 +00:00
Guido van Rossum
681d79aaf3
keyword arguments and faster calls
1995-07-18 14:51:37 +00:00
Guido van Rossum
f10570b9eb
3rd arg for raise; INCOMPLETE keyword parameter passing (currently f(kw=value) is seen as f('kw', value))
1995-07-07 22:53:21 +00:00
Guido van Rossum
6f9e433ab3
fix dusty debugging macros
1995-03-29 16:57:48 +00:00
Guido van Rossum
684ed9891b
remove unused code for tp_call
1995-03-22 10:09:02 +00:00
Guido van Rossum
8d617a60b1
various tuple related optimizations; remove unused b/w compat code from ceval.c
1995-03-09 12:12:11 +00:00
Guido van Rossum
1d339e8c35
fix bug in try-finally with class exceptions; declare different func pointers for different uses
1995-02-17 15:04:21 +00:00
Guido van Rossum
24c137432c
call __import__() with 4 args instead of 1
1995-02-14 09:42:43 +00:00
Guido van Rossum
7f7f274839
use Py_CHARMASK
1995-02-10 17:01:56 +00:00
Guido van Rossum
6b6e0aafe5
DECREF result of run_string
1995-02-07 15:36:56 +00:00
Guido van Rossum
a715299a14
remove unused variable
1995-01-30 12:53:21 +00:00
Guido van Rossum
8bf7c484c1
allow classes as exceptions
1995-01-26 00:41:04 +00:00
Guido van Rossum
1919ca7b28
add missing INCREF in RAISE_EXCEPTION
1995-01-20 16:55:14 +00:00