- 17 Jul, 2015 13 commits
-
-
Kevin Modzelewski authored
optimize regex handling
-
Kevin Modzelewski authored
some fixes and cleanups
-
Kevin Modzelewski authored
Another 2.7.9 compatibility fix
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
- copy CPython's implementation (that uses C slots) - implement the C slots for str and list - avoid doing a division for non-step slices
-
Kevin Modzelewski authored
It was unused
-
Kevin Modzelewski authored
Particularly for string slicing, where we would always memset the string data to zero, and then immediately memcpy it.
-
Kevin Modzelewski authored
- put it into a header file (and start including it) - move the grow-the-array part into a separate function to encourage the fast-path to get inlined.
-
Kevin Modzelewski authored
This division is expensive; the divisor is always sizeof(char) or sizeof(Py_UNICODE), and it seems to be faster to do a branch and then possibly a shift.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
int(str) and int(float) don't always return ints (cant return longs, doh). If we call int() on a subclass of int, we should call its __int__ method in case the subclass overrode it.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
And some other small cleanups
-
- 16 Jul, 2015 6 commits
-
-
Kevin Modzelewski authored
This only does the lexing portion of the process. Further cut that down into a re.split ubench
-
Chris Toshok authored
Some refactors in GC code + class-freed-before-instance bug fix.
-
Rudi Chen authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Add sre_compile_test.expected
-
Rudi Chen authored
In some rare instances, class objects can be freed before the last instance of that class, causing a problem in the sweep phase where we look at the class of the object being freed. So we keep unreachable classes around for an extra collection to be safe.
-
- 15 Jul, 2015 21 commits
-
-
Rudi Chen authored
-
Rudi Chen authored
-
Kevin Modzelewski authored
Ie, manually specify the reference output for sre_compile_test.py instead of running CPython to generate it. CPython changed the behavior (and interface) of _optimize_charset at some point between 2.7.7 (where we copied from) and 2.7.9. We should probably copy their new implementation (seems to have a few more optimizations), but for now this should fix #707.
-
Kevin Modzelewski authored
jemalloc
-
Daniel Agar authored
-
Kevin Modzelewski authored
some misc microoptimizations
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Yes they exist, for example "try getting this attribute and if it exists call it, otherwise do something else". Probably not a huge perf improvement since the exception-throwing will probably dominate. Use the same "only do this for immortal strings" trick to get around gc issues.
-
Kevin Modzelewski authored
Only do this for calls with immortally-interned strings so that we can side-step the track-gc-references-in-ics issue for now.
-
Kevin Modzelewski authored
type speculation support
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I have a whole bunch of mechanical changes to allow speculation, but I think our pre-existing speculation rules end up hurting the macrobenchmarks. I'd like to get those in and then separately work on making in beneficial.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
It'll break once we add frame introspection info to it, but for now it just needed some massaging.
-
Kevin Modzelewski authored
Currently it gets somewhat hidden by the object-caching behavior. Add an API for fetching it out, and use it to make the "prettified" IR (which you see on -vv or higher) include the slowpath addresses.
-
Kevin Modzelewski authored
Using NULL for undefined values is confusing since maybe something actually returned that. So try using -1.
-
Kevin Modzelewski authored
Somewhat ad-hoc at the moment; only added for a few types of operations.
-
Kevin Modzelewski authored
Add a couple tests to the travis-ci configuration
-
Kevin Modzelewski authored
correct output filenames for the new .so's
-