- 28 Mar, 2016 3 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
instead of re-calculating it for every BB profiling ftw
-
Kevin Modzelewski authored
Don't use ValueMap::operator[], since that is much more expensive than lookup().
-
- 27 Mar, 2016 4 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I think `make check_dbg` is clean again.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 26 Mar, 2016 9 commits
-
-
Kevin Modzelewski authored
Most of these need to return borrowed references in order to match the C API.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
If we find a type that - we think we can reason about statically - does not have an __iter__ but can be iterated via __getitem__ we previously just bailed saying that we know it doesn't have an __iter__ method (instead of calling getiterHelper like we should). This bug exists on master as well, but we just don't run into it that often (especially since it's llvm-tier-only).
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
With some prefetching.
-
- 25 Mar, 2016 4 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Now that they are only a small number of sizes (powers of two), can use a freelist pretty easily. Especially because most of the allocations will come from places where we can precompute the freelist index. About a 5% improvement on raytrace.py
-
Kevin Modzelewski authored
Our old allocator supported very fast realloc() calls (amortized constant time), and we relied on that by doing "realloc(array, old_size + 1)" every time we wanted to grow the array. Instead, now do "if (power_of_two(old_size)) realloc(array, old_size * 2)" Somehow this is 15% faster overall.
-
Kevin Modzelewski authored
-
- 24 Mar, 2016 8 commits
-
-
Kevin Modzelewski authored
Refcounting added a second way to represent "no attrs" -- NULL as a hcls. This was causing guards to fail since a check would be written for one but then it would fail when objects came in with the other. So canonicalize to using NULL as the "no attributes" hcls.
-
Kevin Modzelewski authored
It can still be helpful to turn them off, but now that the refcounter non-determinism has been fixed I think it's time to have these back on.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Marius Wachtler authored
this let's minibenchmark/raytrace.py run with enabled interpreter + OSR (but disabled bjit)
-
Kevin Modzelewski authored
(we had already copied their int freelist)
-
Kevin Modzelewski authored
-
- 23 Mar, 2016 7 commits
-
-
Kevin Modzelewski authored
I guess it was originally turned on for the extra debugging it provides, but it also a decent amount faster than system malloc/free (though I think we could do better still).
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Not sure how I missed the dict.cpp file
-
Kevin Modzelewski authored
-
- 22 Mar, 2016 5 commits
-
-
Kevin Modzelewski authored
Put a "expected: reffail" on any test that the tester thought was failing (which includes a few that currently fail due to the llvm-only mode) Used a different word (vs "fail") so that we can see whether it was failing before refcounting or not.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
A couple build issues left though.
-
Kevin Modzelewski authored
since we need to look at this at every deinitFrame. calculateNumUserVisibleVRegs() was showing up in the profile. This might be less important under pgo (which is currently broken), but seems like a good thing to try anyway.
-
Marius Wachtler authored
-