- 30 Jun, 2015 10 commits
-
-
Kevin Modzelewski authored
fastpath investigations
-
Kevin Modzelewski authored
I think this only gets hit through explicit calls to tuple(), but at one point it was crashing on this codepath which is how I noticed it.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Our tuple format is now the same as CPython's, so we can just enable the fast macros again. Little bit of trickiness since they declare their storage array to have a size of 1; I'm not sure how important that is, but let's play it safe and match it.
-
Kevin Modzelewski authored
We already have this for the rest of our code, but it wasn't enabled for C files.
-
Kevin Modzelewski authored
- conservative references into the large/huge heaps are especially expensive - it's nice to know what kind of object we are scanning
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
So we can compare against their latest instead of whatever was in apt.
-
Kevin Modzelewski authored
Notably, to the rewriter. Turns out that a decent amount of the time that used to get allocated to slowpaths is actually time spent in the rewriter, doing successful rewrites.
-
- 29 Jun, 2015 2 commits
-
-
Kevin Modzelewski authored
Take another pass over the failing cpython tests
-
Kevin Modzelewski authored
-
- 27 Jun, 2015 5 commits
-
-
Kevin Modzelewski authored
Switch BoxedMethodDescriptor to tpp_call
-
Kevin Modzelewski authored
While it's bad that we do so poorly with large heaps, that's not the point of this benchmark.
-
Kevin Modzelewski authored
- "Override" the stattimer stack while we are throwing an exception. - Mark some more things as being back in "builtins" code.
-
Kevin Modzelewski authored
Minor, but should cut down on some overhead
-
Kevin Modzelewski authored
reduce api conversions
-
- 26 Jun, 2015 18 commits
-
-
Kevin Modzelewski authored
We got away with sloppy exception clearing in some places, since raiseExcHelper would end up calling typeCall which would re-throw the capi exception that hadn't been cleared. Now that typeCall doesn't do that (which is fine), those bugs got exposed.
-
Kevin Modzelewski authored
We can't rewrite into the object-creation behavior, but we can rewrite the decision to just use CPython's c slots.
-
Kevin Modzelewski authored
ie try to avoid api conversion.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
something like 40x slower. also, has some sort of super-linear overhead: 10xing the size of the benchmark takes 33x longer for us, but 10x longer for cpython. (Looks like it's coming from the GC)
-
Kevin Modzelewski authored
We should hopefully be able to avoid getting here in the first place though.
-
Kevin Modzelewski authored
add tpp_call for faster calling of non-functions
-
Kevin Modzelewski authored
This register reuse here didn't go through our locations-tracking infrastructure, and it just assumed it'd be ok to do. I think it's only called from places where the register we reuse won't be used after this function. This broke though when I added the ability to allocate orig-arg registers; now, the argument is still dead in that it won't be used by the function, but it could be "used" if a guard failed. But this wasn't being tracked in the locations map, so we ended up trashing the orig arg despite the lengths we went to to not do that :/
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
It used to get away with telling other functions that it had already guarded its args, since it could rely on the fact that it could only get called through the path in runtimeCallInternal that would guard the args. Now that it can be called through the tpp_call fastpath (which maybe should just guard the args), it has to guard them itself.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Could be faster with templates but seems roughly even for now.
-
Kevin Modzelewski authored
Similar to ArgPassSpec. Previously we kept them on the CLFunction, but there are places where we want to specify a certain parameter signature without having a clfunction available.
-
Kevin Modzelewski authored
travis-ci compile and test in single step
-
Kevin Modzelewski authored
Temporary fix for freeing-classes-before-instances bug
-
- 25 Jun, 2015 5 commits
-
-
Kevin Modzelewski authored
Was running into it, so just added a quick fix that should hopefully get us through until rudi gets in his real fix. This commit just delays freeing the class objects until the end of the sweep. It doesn't deal with a number of corner cases such as if a class and a metaclass get freed at the same time (they both get delayed to the same point), or if we free a class with weakrefs to it (it just gets treated like a normal weakreferent).
-
Kevin Modzelewski authored
Don't have cheetah_test look for system cheetah
-
Kevin Modzelewski authored
do 100 queries per insert instead of 1000 after all inserts.
-
Kevin Modzelewski authored
cheetah's tests do a PATH search for the "cheetah" executable, and since we were appending the test-cheetah's location to PATH, it would find the system cheetah preferentially to the test cheetah. This is fine since on most systems there isn't a system cheetah, but somehow mine has one. The system cheetah will invoke the system python, which will end up passing more of the tests. We could prepend PATH instead of append to it, but it looks like the the tests don't need anything else, so for now don't pass in anything else in PATH.
-
Kevin Modzelewski authored
Include total-tests-run in our test-suite-results checking
-