- 24 Sep, 2015 1 commit
-
-
Boxiang Sun authored
-
- 23 Sep, 2015 7 commits
-
-
Kevin Modzelewski authored
Support the "decorator" library
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
ie exec and eval statements are supposed to start with the future flags of the scope in which they are called. Our flags currently get applied after parsing, which for the most part is fine, except print_statement which actually changes the result of parsing. ie `exec "print(1, 2)"` could either be parsed as a function call, which will print "1 2", or as a print statement of a tuple, which prints out "(1, 2)". So thread the future flags through the parsing stages as well.
-
Kevin Modzelewski authored
Try to fix set-dtor segfault
-
Kevin Modzelewski authored
The line of a decorated function is the decorator
-
Kevin Modzelewski authored
This is the test for the fix in vinzenz/libpypa#49
-
Kevin Modzelewski authored
fix Makefile to be able to 'make' after 'make clean'
-
- 22 Sep, 2015 4 commits
-
-
Kevin Modzelewski authored
The issue is that the set destructor, which is marked as "safe", will try to access the type object. But a safe destructor is not allowed to assume that any objects are alive, including its own class. We do actually force the class to be alive during a safe destructor, but the tp_mro field was not so lucky. We could try to address this by saying again that types have ordered finalizers, which will cause them to also keep their references alive. But this doesn't completely work since it will cause issues with objects that have actual ordered finalizers. So for now, just remove type-check from the destructor.
-
Kevin Modzelewski authored
Properly handle METH_COEXIST
-
Dong-hee Na authored
-
Kevin Modzelewski authored
By importing the cpython implementations of add_methods / add_members / add_getset.
-
- 21 Sep, 2015 2 commits
-
-
Kevin Modzelewski authored
Set cls->has_getattribute for extension classes
-
Kevin Modzelewski authored
-
- 20 Sep, 2015 7 commits
-
-
Marius Wachtler authored
Misc small fixes for lxml
-
Marius Wachtler authored
this got introduced in c9598857 for getattr
-
Marius Wachtler authored
this is how cpython does it. The implementation of PyImport_ImportModule is still very different and I haven't verified it any further but at least this now lets "from lxml import objectify" work (it internally imports "lxml.etree") Also remove a few asserts when assembly generation failed and teach type_analysis about None and while there cache the scope result.
-
Marius Wachtler authored
use it for attrwrapper_cls (This gets also often called for real dicts but the implement the mapping already)
-
Marius Wachtler authored
This is an optimization but also fixes an lxml issue: it calls AttrWrapper::getitem even though an error is currenly set. (which would assert if we do a callFunc call for the getitem)
-
Marius Wachtler authored
Fix repr() of oldstyle class infinite recursion. add _PyErr_BadInternalCall and PyCFunction_GetFlags
-
Marius Wachtler authored
before it produced the following exception: TypeError: unicode() got multiple values for keyword argument 'encoding'
-
- 19 Sep, 2015 1 commit
-
-
Kevin Modzelewski authored
Copy in the rest of CPython's tests
-
- 18 Sep, 2015 7 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Some xrange improvments
-
Kevin Modzelewski authored
Gc fix
-
Kevin Modzelewski authored
Add missing tp_iter and tp_iternext functions
-
Marius Wachtler authored
-
Kevin Modzelewski authored
1) instead of hooking loadConst to automatically find GC references, add an API for specifically saying that a reference needs to be tracked (I think/hope there aren't more that do this) 2) change the way we store the gc references so that it's O(#references) to scan them instead of O(#ics).
-
- 17 Sep, 2015 4 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I think this is actually pretty decent, as long as we don't depend on the class's gc pointers being dereferenceable. We could go back to having the finalization-ordering algorithm handle this part, but it gets tricky when the class can refer back to instances of itself (the situation that prompted this).
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 16 Sep, 2015 7 commits
-
-
Marius Wachtler authored
make more module test pass
-
asaka authored
-
Boxiang Sun authored
-
Kevin Modzelewski authored
Match cpython's HEAPTYPE flag
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
It's supposed to mean "whether this type is heap allocated", but it gets used as "is this a builtin/extension type". We heap-allocate our builtin types so we were setting HEAPTYPE, but this keeps on causing issues. I don't think anything actually uses HEAPTYPE to mean it's on the stack or heap, so let's just set them all to be HEAPTYPE=0. For better or worse, I ended up implementing this by changing the builtin types from BoxedHeapClasses to BoxedClasses, which seems to make sense. This had the effect of changing the existence of the tp_as_foo structs, which get automatically created for HeapClasses but not for non-heap classes. So most of the changes in this commit are trying to make sure that we have those when CPython has them.
-