- 06 Aug, 2014 1 commit
-
-
Kevin Modzelewski authored
Previously the gc header had to be set and managed by the user of the GC, which didn't make much sense. Also took this opportunity to clean up a bunch of old cruft. Also got rid of ObjectFlavors and AllocationKinds, in preference for a GCKind which I think makes more sense. Right now there are only three different GCKinds, but I'm not sure if the previous AllocationKinds should each get their own GCKind.
-
- 05 Aug, 2014 3 commits
-
-
Kevin Modzelewski authored
-
https://github.com/kkszysiu/pystonKevin Modzelewski authored
Conflicts: src/runtime/str.cpp test/tests/str_manipulation.py
-
Kevin Modzelewski authored
-
- 04 Aug, 2014 5 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Added capitalize and title functions for strings
-
Kevin Modzelewski authored
Implement tuple.__add__, dict.__contains__ and builtin id() function
-
Kevin Modzelewski authored
-
- 03 Aug, 2014 1 commit
-
-
Krzysztof Klinikowski authored
-
- 31 Jul, 2014 18 commits
-
-
Chris Ramstad authored
-
Kevin Modzelewski authored
-
Chris Ramstad authored
removed dict_contains.py fixed merge miss in dict.cpp
-
Chris Ramstad authored
-
Kevin Modzelewski authored
The goal is to be able to use these as-is
-
Kevin Modzelewski authored
Rewriter2
-
-
Kevin Modzelewski authored
ie actually add one. Before dict.__new__ would simply call object.__new__ and return something that was very much not a dict :/
-
-
Chris Ramstad authored
Currently returns the address if the Box*
-
Chris Ramstad authored
-
Chris Ramstad authored
TODO: When using {} to construct the dict, contains works. However if the dict type is used, the runtime crashes in various ways (see tests/dict_contains.py)
-
Travis Hance authored
-
Travis Hance authored
-
Travis Hance authored
-
Travis Hance authored
-
Krzysztof Klinikowski authored
-
Kevin Modzelewski authored
We were caching certain liveness results (only crawled each BB once looking for name use/defs), but we were still traversing the entire CFG for every liveness query. Now, each query does a single full CFG scan, and computes the results for all BBs and stores them. Reduces the time to 'import re' from about 13s to under 2s.
-
- 30 Jul, 2014 2 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 29 Jul, 2014 6 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
This commit is a straightforward implementation that doesn't include any speculation-like optimizations. For operations that can overflow, just relax the type-return-specification to UNKNOWN, and do the overflow checks in the runtime. This means that we no longer emit fast native integer instructions even if we know operands are ints. Will have to add optimizations: - range analysis so that we can know there won't be overflow - deopt-on-overflow so that we can work with unboxed ints even if there's potential overflow
-
Kevin Modzelewski authored
Augassigns and for loops had an issue where they would try to do something like 'i = i.__iadd__(j)', ie have multiple operations in a single statement. If an exception occurs, it's not clear if the name got redefined; so far we just assume that it always does (since we don't have the mechanism to propagate the name along only one control flow edge). So we have to split up those multi-operation-statements into multiple statements.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Fix crash when passing alot of defaults
-
- 26 Jul, 2014 1 commit
-
-
Kevin Modzelewski authored
-
- 25 Jul, 2014 3 commits
-
-
Kevin Modzelewski authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
Implement Python Generators
-