- 31 Jul, 2014 4 commits
-
-
Travis Hance authored
-
Travis Hance authored
-
Travis Hance 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
-
- 24 Jul, 2014 11 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
https://github.com/dropbox/pystonMarius Wachtler authored
Conflicts: src/codegen/compvars.h src/codegen/runtime_hooks.h src/runtime/objmodel.h
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Just do it by putting a different class object on the same C-level structure. Not too hard right now to defeat the frozen-ness, please don't try.
-
Kevin Modzelewski authored
Ended up not being too bad, except for some more fun around classdefs having different rules, and making sure to generate the correct error type and messages.
-
Kevin Modzelewski authored
Not worth producing CPython's error messages exactly: some delattr messages depend on whether or not the object has a __dict__ allocated or not. Just canonicalize those in the tester.
-
- 23 Jul, 2014 13 commits
-
-
https://github.com/xiafan68/pystonKevin Modzelewski authored
Merges #101 Conflicts: src/codegen/runtime_hooks.h
-
https://github.com/dropbox/pystonMarius Wachtler authored
Conflicts: src/codegen/runtime_hooks.h src/runtime/builtin_modules/builtins.cpp
-
Kevin Modzelewski authored
Just convert them to ints and strings, failing if the conversion isn't possible. Unicode and str are the same thing, right? :/
-
Kevin Modzelewski authored
-
https://github.com/dropbox/pystonMarius Wachtler authored
Conflicts: src/codegen/irgen/irgenerator.cpp src/codegen/runtime_hooks.h
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Oh, no this was the issue: we were writing out valid-looking but corrupt pyc files if the parser crashed. Now leave the files as corrupt if the parser crashes
-
Kevin Modzelewski authored
Before was throwing AttributeError, since we were just translating it to: import a b = a.b Now there's a special importFrom runtime function that does essentially the same thing, but throws the proper exception.
-
Kevin Modzelewski authored
Now more resilient to truncated pyc files; got into a bad situation where the parser crashed, wrote out a half-pyc file, which wasn't judged to be invalid.
-
Kevin Modzelewski authored
Previously, a non-satisfied except filter would cause the traceback to be lost, since we were using the one-argument 'raise exc' form.
-