Stefan Behnel [Sun, 28 Dec 2008 16:38:53 +0000 (17:38 +0100)]
split argument default value assignment to avoid redundant reassignments
Stefan Behnel [Sun, 28 Dec 2008 16:38:37 +0000 (17:38 +0100)]
extended test case to make sure arguments pass as expected
Stefan Behnel [Sun, 28 Dec 2008 15:53:54 +0000 (16:53 +0100)]
avoid minor redundancy in generated code
Stefan Behnel [Sun, 28 Dec 2008 15:50:18 +0000 (16:50 +0100)]
avoid minor redundancy in generated code
Stefan Behnel [Sun, 28 Dec 2008 15:33:44 +0000 (16:33 +0100)]
initialise argument value array with default values to avoid having to check for NULL on assignments
Stefan Behnel [Fri, 26 Dec 2008 15:01:02 +0000 (16:01 +0100)]
code simplification
Stefan Behnel [Fri, 26 Dec 2008 14:25:36 +0000 (15:25 +0100)]
cleanup
Stefan Behnel [Fri, 26 Dec 2008 09:51:39 +0000 (10:51 +0100)]
reverted latest changes: calling PyDict_GetItem inside a switch is actually faster than always looping over the kwdict
Stefan Behnel [Fri, 26 Dec 2008 09:24:12 +0000 (10:24 +0100)]
special keyword checking code when we know the exact number of arguments
Stefan Behnel [Thu, 25 Dec 2008 08:31:07 +0000 (09:31 +0100)]
minor performance tweaking
Stefan Behnel [Thu, 25 Dec 2008 00:07:32 +0000 (01:07 +0100)]
extended test case
Stefan Behnel [Wed, 24 Dec 2008 23:59:14 +0000 (00:59 +0100)]
cleanup, comments, less code for special case of no positional arguments
Stefan Behnel [Wed, 24 Dec 2008 23:29:46 +0000 (00:29 +0100)]
always parse keyword arguments in a PyDict_Next() loop - almost always faster than multiple calls to PyDict_GetItem()
Stefan Behnel [Wed, 24 Dec 2008 21:52:23 +0000 (22:52 +0100)]
be more optimistic when parsing optional keywords: if (interned) string pointers are identical, we know it's the right type of object
Stefan Behnel [Tue, 23 Dec 2008 14:04:25 +0000 (15:04 +0100)]
merge
Lisandro Dalcin [Tue, 23 Dec 2008 13:18:16 +0000 (11:18 -0200)]
fix distutils GCC compilation flags to remove -Wstrict-prototypes for the C++ case
Stefan Behnel [Tue, 23 Dec 2008 09:42:06 +0000 (10:42 +0100)]
fix error message
Lisandro Dalcin [Mon, 22 Dec 2008 22:09:20 +0000 (20:09 -0200)]
make GCC happy when string literals and const char* pointers are passed to many C-API calls or set in struct slots for Python 2.3/2.4
Lisandro Dalcin [Mon, 22 Dec 2008 21:09:47 +0000 (19:09 -0200)]
Backed out changeset
9ef9ef371247
Lisandro Dalcin [Mon, 22 Dec 2008 20:12:35 +0000 (18:12 -0200)]
fix testcase to avoid GCC warning about unused function
Lisandro Dalcin [Mon, 22 Dec 2008 12:02:31 +0000 (09:02 -0300)]
fix function declaration in utility code
Stefan Behnel [Sun, 21 Dec 2008 10:05:50 +0000 (11:05 +0100)]
and another tiny speed-up
Stefan Behnel [Sun, 21 Dec 2008 09:54:15 +0000 (10:54 +0100)]
some more cythonisation in Visitor.py
Stefan Behnel [Sun, 21 Dec 2008 09:05:12 +0000 (10:05 +0100)]
compile classes in Visitor.py into real extension classes
Stefan Behnel [Sun, 21 Dec 2008 08:32:57 +0000 (09:32 +0100)]
don't complain when extension classes 'inherit' from object
Stefan Behnel [Sat, 20 Dec 2008 20:10:14 +0000 (21:10 +0100)]
small cleanup in parser
Stefan Behnel [Sat, 20 Dec 2008 20:10:02 +0000 (21:10 +0100)]
little tweak for looking up node children
Stefan Behnel [Sat, 20 Dec 2008 18:49:31 +0000 (19:49 +0100)]
more streamlining
Stefan Behnel [Sat, 20 Dec 2008 18:10:23 +0000 (19:10 +0100)]
some profiler guided streamlining in compiler output writers
Lisandro Dalcin [Sat, 20 Dec 2008 16:38:55 +0000 (13:38 -0300)]
update clean target in makefile
Jason Evans [Sat, 20 Dec 2008 00:50:47 +0000 (16:50 -0800)]
Set module name for Spam/__init__.pyx to Spam.
Stefan Behnel [Fri, 19 Dec 2008 20:57:32 +0000 (21:57 +0100)]
tiny cleanup, fix #163
Stefan Behnel [Fri, 19 Dec 2008 19:18:44 +0000 (20:18 +0100)]
extended for-loop test case
Stefan Behnel [Fri, 19 Dec 2008 19:18:10 +0000 (20:18 +0100)]
fix expected messages in error test
Stefan Behnel [Fri, 19 Dec 2008 19:15:56 +0000 (20:15 +0100)]
fix previously introduced crash bug due to multiple temp allocation in comprehensions
Stefan Behnel [Fri, 19 Dec 2008 18:26:53 +0000 (19:26 +0100)]
missing cpdef declarations for Parsing.py
Stefan Behnel [Fri, 19 Dec 2008 17:03:13 +0000 (18:03 +0100)]
Cython compile fixes
Stefan Behnel [Fri, 19 Dec 2008 13:50:39 +0000 (14:50 +0100)]
removed original iter-range optimisation (now replaced by a transform)
Stefan Behnel [Fri, 19 Dec 2008 13:45:56 +0000 (14:45 +0100)]
disable comprehension transform to keep current leaking behaviour of comprehension run variables
Stefan Behnel [Fri, 19 Dec 2008 13:29:48 +0000 (14:29 +0100)]
major cleanup for comprehension code to remove redundant classes
Stefan Behnel [Fri, 19 Dec 2008 02:11:38 +0000 (03:11 +0100)]
cleanup
Stefan Behnel [Fri, 19 Dec 2008 02:05:14 +0000 (03:05 +0100)]
use a straight call to PyList_Tuple() on code like tuple([...])
Stefan Behnel [Fri, 19 Dec 2008 02:04:08 +0000 (03:04 +0100)]
Py2.3 test fix
Stefan Behnel [Fri, 19 Dec 2008 02:03:50 +0000 (03:03 +0100)]
allow skipping GIL checks on nodes generated by transforms
Stefan Behnel [Fri, 19 Dec 2008 02:03:16 +0000 (03:03 +0100)]
work around for earlier compile error
Stefan Behnel [Fri, 19 Dec 2008 01:18:27 +0000 (02:18 +0100)]
fix for-from loop in list comprehensions
Stefan Behnel [Thu, 18 Dec 2008 17:04:44 +0000 (18:04 +0100)]
avoid recursive coercion in CoerceToPyTypeNode
Stefan Behnel [Thu, 18 Dec 2008 16:48:44 +0000 (17:48 +0100)]
new transform that hides the loop variable in a comprehension
Stefan Behnel [Thu, 18 Dec 2008 16:35:25 +0000 (17:35 +0100)]
extended test cases for for-loop and list comp
Stefan Behnel [Thu, 18 Dec 2008 16:34:34 +0000 (17:34 +0100)]
for-from-loop: remember loopvar node instead of its name which may not be known at analysis phase
Stefan Behnel [Thu, 18 Dec 2008 09:20:09 +0000 (10:20 +0100)]
cleanup, keep for-range optimisation more local
Stefan Behnel [Thu, 18 Dec 2008 09:19:38 +0000 (10:19 +0100)]
more tests for for-loops and constant expressions
Stefan Behnel [Thu, 18 Dec 2008 09:00:56 +0000 (10:00 +0100)]
... and through type casts
Stefan Behnel [Thu, 18 Dec 2008 08:58:55 +0000 (09:58 +0100)]
better error messages during constant folding, forward constants also through type coercion
Stefan Behnel [Wed, 17 Dec 2008 21:29:11 +0000 (22:29 +0100)]
moved iter-range() optimisation into a transform (worth a review)
Stefan Behnel [Wed, 17 Dec 2008 21:24:04 +0000 (22:24 +0100)]
give a hint on what went wrong on a failed Cython import from distutils
Stefan Behnel [Tue, 16 Dec 2008 07:28:22 +0000 (08:28 +0100)]
small refactoring
Lisandro Dalcin [Tue, 16 Dec 2008 05:43:59 +0000 (02:43 -0300)]
fix outdated Parsing.pxd
Stefan Behnel [Sun, 14 Dec 2008 21:15:02 +0000 (22:15 +0100)]
replace set([...]) by a literal set {...}
Stefan Behnel [Sun, 14 Dec 2008 14:31:24 +0000 (15:31 +0100)]
all Nodes inherit from object, so should CmpNode
Stefan Behnel [Sun, 14 Dec 2008 14:19:00 +0000 (15:19 +0100)]
extended test case to make sure we didn't break some things
Stefan Behnel [Sun, 14 Dec 2008 14:17:54 +0000 (15:17 +0100)]
cleanup
Stefan Behnel [Sun, 14 Dec 2008 14:08:21 +0000 (15:08 +0100)]
generic aggregation of a constant BinopNode into a ConstNode (in simple cases)
Stefan Behnel [Sun, 14 Dec 2008 13:26:48 +0000 (14:26 +0100)]
also pre-calculate the constant result of floats
Stefan Behnel [Sun, 14 Dec 2008 12:48:53 +0000 (13:48 +0100)]
one more common exception silenced during constant folding
Stefan Behnel [Sun, 14 Dec 2008 10:15:23 +0000 (11:15 +0100)]
Py2.3 fix
Stefan Behnel [Sun, 14 Dec 2008 09:56:21 +0000 (10:56 +0100)]
cleanup
Stefan Behnel [Sat, 13 Dec 2008 21:46:31 +0000 (22:46 +0100)]
initial test for constant folding
Stefan Behnel [Sat, 13 Dec 2008 21:23:00 +0000 (22:23 +0100)]
initial constant folding transform: calculate constant values in node.constant_result
Stefan Behnel [Sat, 13 Dec 2008 20:25:00 +0000 (21:25 +0100)]
doctests must set __doc__ in Py2.3
Robert Bradshaw [Sat, 13 Dec 2008 18:55:30 +0000 (10:55 -0800)]
optional arguments for list.sort()
Stefan Behnel [Sat, 13 Dec 2008 14:21:41 +0000 (15:21 +0100)]
make sure we have the Py2.3 set code available when using set literals
Stefan Behnel [Sat, 13 Dec 2008 14:02:58 +0000 (15:02 +0100)]
extended test case
Stefan Behnel [Fri, 12 Dec 2008 22:03:50 +0000 (23:03 +0100)]
test fix
Stefan Behnel [Fri, 12 Dec 2008 18:30:27 +0000 (19:30 +0100)]
fix for dict literals that end with ','
Stefan Behnel [Fri, 12 Dec 2008 08:26:59 +0000 (09:26 +0100)]
test fixes after latest with transform changes
Stefan Behnel [Fri, 12 Dec 2008 08:21:10 +0000 (09:21 +0100)]
implement set/dict comprehensions and set literals
Stefan Behnel [Fri, 12 Dec 2008 07:22:49 +0000 (08:22 +0100)]
export set builtin type
Stefan Behnel [Thu, 11 Dec 2008 08:57:31 +0000 (09:57 +0100)]
embed __init__ signature in class docstring
Stefan Behnel [Wed, 10 Dec 2008 06:48:40 +0000 (07:48 +0100)]
minor fixes to the with statement transform
Stefan Behnel [Mon, 8 Dec 2008 21:22:21 +0000 (22:22 +0100)]
runnable test case for try-finally
Stefan Behnel [Mon, 8 Dec 2008 20:31:30 +0000 (21:31 +0100)]
missing temp cleanup on assignment to TempRefNode
Stefan Behnel [Sun, 7 Dec 2008 21:46:33 +0000 (22:46 +0100)]
extended with statement test case - disabled for now as it triggers a crash
Stefan Behnel [Sun, 7 Dec 2008 20:34:27 +0000 (21:34 +0100)]
renamed node
Stefan Behnel [Sun, 7 Dec 2008 20:14:13 +0000 (21:14 +0100)]
fixed FlattenInListTransform by providing a temp block expression that injects the temp result into a subexpression
Stefan Behnel [Sun, 7 Dec 2008 20:12:58 +0000 (21:12 +0100)]
removed unused (and broken) PersistantNode
Stefan Behnel [Sun, 7 Dec 2008 18:09:55 +0000 (19:09 +0100)]
extended test case for in/not-in operator
Stefan Behnel [Sun, 7 Dec 2008 11:15:33 +0000 (12:15 +0100)]
code simplification
Stefan Behnel [Fri, 5 Dec 2008 11:22:53 +0000 (12:22 +0100)]
disabled in-list transform again as the CloneNode still breaks the current temps
Stefan Behnel [Fri, 5 Dec 2008 09:22:09 +0000 (10:22 +0100)]
extended test case for dict iteration in list comprehensions
Stefan Behnel [Fri, 5 Dec 2008 09:16:59 +0000 (10:16 +0100)]
extended test case
Stefan Behnel [Thu, 4 Dec 2008 20:19:15 +0000 (21:19 +0100)]
comment
Stefan Behnel [Thu, 4 Dec 2008 20:08:56 +0000 (21:08 +0100)]
merge
Stefan Behnel [Thu, 4 Dec 2008 20:08:14 +0000 (21:08 +0100)]
same test for 'and' operator
Stefan Behnel [Thu, 4 Dec 2008 19:46:25 +0000 (20:46 +0100)]
fixed ref-counting in BoolBinopNode
Robert Bradshaw [Thu, 4 Dec 2008 08:16:19 +0000 (00:16 -0800)]
Avoid some trivial tree traversal to speed up compilation.
Stefan Behnel [Wed, 3 Dec 2008 22:26:10 +0000 (23:26 +0100)]
merge
Stefan Behnel [Wed, 3 Dec 2008 22:03:51 +0000 (23:03 +0100)]
fix crashes on type casts
Stefan Behnel [Wed, 3 Dec 2008 21:39:59 +0000 (22:39 +0100)]
extended 'if' test case that enforces heavy temp usage
Stefan Behnel [Wed, 3 Dec 2008 21:39:44 +0000 (22:39 +0100)]
fix temp deallocation in PrimaryCmpNode