- 08 Sep, 2015 3 commits
-
-
Kevin Modzelewski authored
Type system fix: need to add unpacking to the type system
-
Kevin Modzelewski authored
Used a hardcoded CXX exception style in the non-rewriteable case.
-
Kevin Modzelewski authored
ie concerning things like: a, b = 1, 2 The irgen phase already knows how to do unpacking in a type-analyzed way (a and b will be of type int), but type speculation needed to have that added.
-
- 07 Sep, 2015 2 commits
-
-
Kevin Modzelewski authored
rewrite oldstyle class getattro
-
Marius Wachtler authored
-
- 04 Sep, 2015 26 commits
-
-
Kevin Modzelewski authored
Optionally move objects around in memory to prepare Pyston for a moving collector.
-
Kevin Modzelewski authored
Last few fixes to make sqlalchemy_declarative work
-
Rudi Chen authored
-
Rudi Chen authored
This will reallocate all objects in the small heap and update all references that were pointing to this object. This is not functional yet, there are still references that we are not tracking at other points in the program, so it's still gated behind the MOVING_GC flag.
-
Rudi Chen authored
- Refactor the stack logic into a separate data structure ChunkedStack, keep the push function that deals with marking as functionality specific to a subclass of ChunkedStack (no virtual, just reuse code). - Add an additional (disabled) phase that maps out the reference graph reachable objects after the sweep phase. Prepare moving all objects in the small heap. Also, rename TraceStack to TraversalWorklist because the fact that we're using a stack is an implementation detail.
-
Rudi Chen authored
Moving gcs will need this to update pointers. There should not be any extra dereference, it will just happen on the other side of the function. Use templates to avoid direct (void**) casts -- make sure we're always passing an pointer of the form T**.
-
Rudi Chen authored
-
Rudi Chen authored
It's easier to tell the two constants apart if they are different.
-
Rudi Chen authored
They tends to time out or just make the test suite run for longer. They definitely times out when running a prototype moving gc.
-
Kevin Modzelewski authored
Scan constants written into compiled code.
-
Rudi Chen authored
A GC could happen during the rewrite.
-
Rudi Chen authored
-
Rudi Chen authored
-
Kevin Modzelewski authored
Scan rewriters for interior pointers
-
Rudi Chen authored
We need to do this because the ICInvalidator pointers are stored inside Pyston heap objects.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Some improvments that let test_index could pass
-
Kevin Modzelewski authored
Sqlalchemy compatibility fixes
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Sqlalchemy subclasses set, and overrides __init__ and does some custom initialization there. We were doing the initialization in __new__, which works most of the time, except if a generator was passed since then sqlalchemy's initialization will see what looks like an empty generator since we already consumed it. So move the initialization to init. Except for frozenset which still needs to do it in new.
-
Kevin Modzelewski authored
In CPython, str.add directly throws a TypeError since it is implemented as a sq_concat. sqlalchemy relies on being able to do str()+MyStr() and use MyStr.__radd__ to handle the addition. We were throwing a TypeError but not implementing it in sq_concat. So instead, return NotImplemented instead of directly throwing a TypeError. This makes '+' more compatible but str.__add__ a bit less compatible.
-
Boxiang Sun authored
add _PyLong_Copy implementation, return a copy in PyNumber_Long if the type of argument is long or long subclass
-
Boxiang Sun authored
-
Boxiang Sun authored
-
Boxiang Sun authored
-
- 03 Sep, 2015 2 commits
-
-
Kevin Modzelewski authored
Add override keyword where necessary.
-
Rudi Chen authored
-
- 02 Sep, 2015 7 commits
-
-
Rudi Chen authored
-
Kevin Modzelewski authored
Generate better module names to make the object cache more effective
-
Kevin Modzelewski authored
add tp_nextiter implementation for our iterators
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
one of the problems were that depending on if all files were all ready parsed we JITed more or less functions, this changed the total number of jited functions which changed all the module names. This lead to the result that in order to have all entries inside the cache we needed at least 3runs if the pyc files were old. The whole name scheme should add some point get improved but for now it should be enough.
-
Kevin Modzelewski authored
Lower initial dict/set size from 64->8
-