- 13 Jul, 2015 3 commits
-
-
Kevin Modzelewski authored
And also bump N from 200->500
-
Kevin Modzelewski authored
Fix analysis_unittest after tiering changes
-
Kevin Modzelewski authored
It was failing an assert that doesn't get checked on travis-ci, which only tests release mode :/
-
- 12 Jul, 2015 4 commits
-
-
Kevin Modzelewski authored
tiering refactoring
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
This was vistigial from the old llvm interpreter, where we it made a bit more sense. Now it's just weird, and caused the tiering logic to be spread into weird places. It was also the source of some bugs, since when we would deopt there's not really any relevant CompiledFunction that represents the deopt frame (this is why type speculation had to be temporarily disabled). So instead, make it so that the interpreter (and by extension, the baseline jit) work on the CLFunction directly, since the CompiledFunction didn't hold any relevant information anyway. This require a whole bunch of refactoring and API changes. This commit doesn't actually change any of the tiering decisions (I think), but should just make them clearer; the actual behavioral changes will be done in upcoming commits.
-
Kevin Modzelewski authored
Module-level code used to return void, but this causes some special-casing, so switch to having them return None. Also, CPython has their module code objects return None, so it's a small compatibility gain as well.
-
- 10 Jul, 2015 3 commits
-
-
Kevin Modzelewski authored
Specify older 'mock' version to unbreak sqlalchemy
-
Marius Wachtler authored
-
Kevin Modzelewski authored
Small fixes for the baseline JIT
-
- 09 Jul, 2015 6 commits
-
-
Kevin Modzelewski authored
Fix irgen bug for instancemethods
-
Kevin Modzelewski authored
We would try to statically-resolve their getattrs, but there's some special casing in the getattr logic for them. Which should be handled by moving the special-case to a proper tp_getattr, but for now just add the special-casing to "hasGenericGetattr" as well.
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
Refactor offset macros to use the C++ built-in instead.
-
- 08 Jul, 2015 15 commits
-
-
Rudi Chen authored
-
Kevin Modzelewski authored
More small improvements
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
This probably doesn't matter that much since I don't think the function names get used during execution, but they get seen by tools/annotate.py
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
ie instead of generating the call to compare(AST_TYPE::Is), just directly do the pointer comparison in LLVM IR.
-
Kevin Modzelewski authored
For c extension classes that define it. This makes unicode-subscripting much faster.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
An assortment of misc small perf changes
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Put the common-case (where we don't do any work) in an inline-able function, and keep the slow stuff hidden.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
At this point, this is only used for some rarely-used targets like "disassemble this bitcode".
-
Kevin Modzelewski authored
Plus a benchmark of the getattr() function. I have some ideas on how to make this faster, but I don't think it's that important at the moment.
-
- 07 Jul, 2015 6 commits
-
-
Kevin Modzelewski authored
Be more consistent about "ip" while unwinding
-
Kevin Modzelewski authored
rewriter optimization; switch things away from compareInternal
-
Travis Hance authored
rewriter: use lea to allocate stack space
-
Kevin Modzelewski authored
compareInternal should probably just call PyObject_RichCompareBool eventually, but the switch also has the benefit of avoiding an extra boxing step.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Unicode-creation optimizations
-
- 06 Jul, 2015 3 commits
-
-
Kevin Modzelewski authored
I think the ip we receive is the return address to that stack frame (at least in the non-signal case). This makes things a bit weird since the "is this ip in this range" tests have a different half-openness than they normally do. At some point an "ip = ip - 1" snuck in, which I think was to address this issue, but I think it's better to not change the ip -- ie the resulting address is not independently useful (it's in the middle of an instruction); we could pass it around as "ip_minus_one", but instead just try converting the tests to be better.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-