| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
visit_finalizer_reachable since it's the same as visit_reachable.
Rename visit_reachable to visit_move. Objects can now have the GC type
flag set, reachable by tp_traverse and not be in a GC linked list. This
should make the collector more robust and easier to use by extension
module writers. Add memory management functions for container objects
(new, del, resize).
|
| |
|
|
|
|
| |
the setup script is running from inside Vim.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
the old flag to still compile. Remove the PyType_BASICSIZE and
PyType_SET_BASICSIZE macros. Add PyObject_GC_New, PyObject_GC_NewVar,
PyObject_GC_Resize, PyObject_GC_Del, PyObject_GC_Track,
PyObject_GC_UnTrack. Part of SF patch #421893.
|
|
|
|
| |
the old flag to still compile.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
try/except or try/finally.
Previous versions had only track SETUP_LOOP blocks and ignored the
exception part. This meant that it allowed continue inside a
try/except but generated buggy code. Now it does the right thing.
|
|
|
|
| |
Add CONTINUE_LOOP to the list of unconditional transfers
|
| |
|
|
|
|
| |
used by the test suite.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
pyport.h: typedef a new Py_intptr_t type.
DELICATE ASSUMPTION: That HAVE_UINTPTR_T implies intptr_t is
available as well as uintptr_t. If that turns out not to be
true, things must get uglier (C99 wants both, so I think it's
an assumption we're *likely* to get away with).
thread_nt.h, PyThread_start_new_thread: MS _beginthread is documented
as returning unsigned long; no idea why uintptr_t was being used.
Others: Always use Py_[u]intptr_t, never [u]intptr_t directly.
|
|
|
|
|
|
|
| |
starts a new line.
Also fix undetected typo in visitDict() -- uncovered by recent change
to add lineno attrs to atoms.
|
| |
|
|
|
|
|
| |
XXX The code is still widely inaccurate, but most (all?) of the time
it's an overestimate.
|
|
|
|
|
| |
in which case it will hang because the import lock is already held
by the main thread.
|
|
|
|
|
|
|
|
|
|
| |
As the doc string for _lookupName() explains:
This routine uses a list instead of a dictionary, because a
dictionary can't store two different keys if the keys have the
same value but different types, e.g. 2 and 2L. The compiler
must treat these two separately, so it does an explicit type
comparison before comparing the values.
|
| |
|
|
|
|
|
|
|
| |
Generate SET_LINENO for del statements.
Define klass=1 for PyFlowGraph constructor for a class statement. A
class has no varnames.
|
|
|
|
|
|
|
|
| |
Avoid if/elif/elif/else tests where the final else is supposed to
handle exactly one case instead of all other cases. When the list of
operators is extended, the catchall else treats all new operators as
the last operator in the set of tests. Instead, raise an exception if
an unexpected operator occurs.
|
|
|
|
|
| |
Fix bug in handling of statements like "l[x:y] = 2". The visitor was
treating this as assignments to l, x, and y!
|
|
|
|
|
|
|
|
| |
Use a dictionary instead of a list to map objects to their offsets in
a const/name tuple of a code object.
XXX The conversion is perhaps incomplete, in that we shouldn't have to
do the list2dict to start.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for floor division (// and //=)
The implementation of getChildren() and getChildNodes() is intended to
be faster, because it avoids calling flatten() on every return value.
But it's not clear that it is a lot faster, because constructing a
tuple with just the right values ends up being slow. (Too many
attribute lookups probably.)
The ast.txt file is much more complicated, with funny characters at
the ends of names (*, &, !) to indicate the types of each child node.
The astgen script is also much more complex, making me wonder if it's
still useful.
|
| |
|
| |
|
| |
|
|
|
|
| |
non-subclassability. (More tests for number subclassing should follow.)
|
|
|
|
| |
This uses a slightly wimpy and wasteful approach, but it works. :-)
|
|
|
|
|
| |
In particular, the second argument can now be a subclass of the first
as well (normally it must be an instance though).
|
| |
|
|
|
|
|
| |
not enough for Python. Increased the stacksize to a (somewhat arbitrary)
64KB.
|
| |
|
|
|
|
| |
ints, convert to PyLong (rather than throwing away the high-order 32 bits).
|
|
|
|
|
| |
PyString_FromFormat(). Also fixed one grammar problem, and a few
other mark-up issues. Sample code not checked.
|
|
|
|
|
| |
Rewrite snprintf() item a bit
Bump version number
|
|
|
|
|
|
|
|
| |
64-bit INTs on 32-bit boxes (where they become longs). Also exploit that
int(str) and long(str) will ignore a trailing newline (saves creating a
new string at the Python level).
pickletester.py: Simulate reading a pickle produced by a 64-bit box.
|
|
|
|
| |
couldn't succeed. Fixed.
|
| |
|
| |
|