- 11 Nov, 2014 3 commits
-
-
Vinzenz Feenstra authored
Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
-
Kevin Modzelewski authored
We were scanning the wrong number of bytes for conservative objects; we were using the allocated size instead of the user size, but starting the scan at the beginning of the user section. Finally ran into a case where a conservative object was the very last object in the heap and it segfaulted.
-
Kevin Modzelewski authored
-
- 10 Nov, 2014 6 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
An experimental way of making the runtime faster. Previously, the C++ runtime was much slower than pure-Python code, since the Python code can use the JIT to improve performance (through inline caches and type speculation). This commit adds "runtime ics", which are out-of-band patchpoints that we can allocate from C++. We insert them into the same patchpoint system that gets used by the main JIT pipeline, so they get rewritten like any other patchpoint, but the lifetime and use gets controlled by the C++ code. The trickiest part is getting the newly-allocated instruction regions to work with our exception handling; to make this work we have to emit .eh_frame sections. (A custom libunwind-based exception unwinder might not have this requirement.) Otherwise it feels like a decent approach. Right now just using it to implement class slots and then only using them in the pyElements iterator; it's probably not the most direct or efficient way of implementing that particular feature, but it has the benefit of being general and being useful for things such as binops which are not directly expressible in terms of class slots. This commit adds the support without turning the feature on (next commit will turn it on), since there are a number of other changes needed.
-
Kevin Modzelewski authored
Hopefully this doesn't break things for people trying non-default toolchains, but it might. We were previously using -static-libstdc++ to make sure that we would find the right libstdc++. I noticed that we weren't getting the right version of libgcc_s (using the system one instead of the freshly-built one), so use rpath for now.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
AST Compare tests libpypa vs cpython
-
Vinzenz Feenstra authored
Signed-off-by: Vinzenz Feenstra <evilissimo@gmail.com>
-
- 08 Nov, 2014 6 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Seems to help by a couple percent.
-
Kevin Modzelewski authored
-
- 07 Nov, 2014 5 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Closes #211
-
Travis Hance authored
staticmethods and classmethods
-
Travis Hance authored
-
Kevin Modzelewski authored
-
- 06 Nov, 2014 3 commits
-
-
Kevin Modzelewski authored
Dict methods
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 05 Nov, 2014 12 commits
-
-
Leandro Lameiro authored
-
Leandro Lameiro authored
-
Leandro Lameiro authored
-
Leandro Lameiro authored
-
Kevin Modzelewski authored
Good for a 10-15% speedup I still feel like we can do much better here though
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Travis Hance authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 04 Nov, 2014 5 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Vinzenz Feenstra authored
(Committed by kmod) Closes #93
-
Kevin Modzelewski authored
-