- 10 Dec, 2014 4 commits
-
-
Kevin Modzelewski authored
ScopeInfo involves checking the whole function subtree to resolve scoping references. SourceInfo has information about the specific function. is_generator used to be in ScopeInfo, but accessing it would require doing the full subtree analysis, which can be unnecessary. This lets us avoid analyzing function subtrees that are never entered.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
With some changes - renamed AST_Exec::expr -> body (to match CPython) - removed references to AST_SetComp
-
Kevin Modzelewski authored
-
- 09 Dec, 2014 2 commits
-
-
Kevin Modzelewski authored
add two passes which remove unnecessary boxing
-
Kevin Modzelewski authored
-
- 07 Dec, 2014 4 commits
-
-
Marius Wachtler authored
* the first one removes boxInt, boxFloat and boxBool calls where the argument is coming from a corresponding unbox call * the second pass removes duplicate boxing calls inside the same BB together they improve the performance by about 10%
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 06 Dec, 2014 9 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
If we had to guard on the type of an object but the variable ended up being undefined, we treated that as a guard failure (not sure why). Fixing that exposed another issue: if we guard that an object is an int, we will try to unbox it if necessary. If the variable wasn't defined, then we will try to unbox some garbage memory. Use the new handlePotentiallyUndefined to deal with that.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Before, for compiled functions we used dwarf line number information. Now it's switched to using the new frame introspection support, and we pass through the AST_stmt* as one of the arguments. This gets us the line number and also the definition of execution point.
-
Kevin Modzelewski authored
and exc_info -> unw_info (This makes more sense with the next change, but I wanted to separate this large renaming from the functional change.)
-
Kevin Modzelewski authored
I wonder if other people have run into this.
-
Kevin Modzelewski authored
Previously things were hardcoded to only allow a single entry point to the interpreter (since that is how the unwinder determines if the frame is an interpreter frame). Instead of having astInterpretFunction be the interpreter frame, make execute() the frame. Have to make it a static class function so we can take its address.
-
- 05 Dec, 2014 4 commits
-
-
Kevin Modzelewski authored
Can still switch back to the default regalloc using the -b flag, but it looks like the basic register allocator cuts the LLVM JIT time significantly, and improves every one of our benchmarks.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 03 Dec, 2014 1 commit
-
-
Kevin Modzelewski authored
With the recent package import support, we broke importing optparse. This is because we now can import "encodings" (a package), which imports codecs, which raises a SystemError when trying to import _codecs which we don't support yet. This was getting ignored before since optparse wrapped this process (which happens via "import gettext") in a try-except and catches the ImportError.
-
- 02 Dec, 2014 2 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 26 Nov, 2014 1 commit
-
-
Kevin Modzelewski authored
Add missing FloorDivInt test
-
- 24 Nov, 2014 2 commits
-
-
Kevin Modzelewski authored
Cmake fixes for #231 and #232
-
Kevin Modzelewski authored
load package/__init__.py if it exists, and set its __path__
-
- 23 Nov, 2014 2 commits
-
-
Marius Wachtler authored
my old one was missing a std::move and did not accept lvalues.
-
Marius Wachtler authored
-
- 22 Nov, 2014 1 commit
-
-
Kevin Modzelewski authored
Controlled by the '-b' command-line flag. That used to be for "benchmark" mode but it looks like benchmark mode has been broken for a while, so remove that.
-
- 21 Nov, 2014 8 commits
-
-
Daniel Agar authored
-
Daniel Agar authored
-
Chris Toshok authored
also, add a test that includes importing both a module with __init__.py and a submodule.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
initial cmake support
-
Kevin Modzelewski authored
ie due to reoptimizing the function and then calling into the compiled code. We could handle this specific case by not treating these as "real" frames that need to be introspected, but we have these kinds of situations in other places (reopt from compiled code, osr from either kind) so I'd rather find a more general improvement.
-