- 26 Oct, 2015 7 commits
-
-
Kevin Modzelewski authored
Not the actual memory blocks in it, but just the main metadata object. It contains pointers to other python objects; we could potentially remove those pointers (looks like they are just for reference counting) but for now just conservatively-allocate it.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Tricky since we need to open a pseudotty to get the repl behavior. (Piping in a program to stdin goes through a different code path.)
-
- 23 Oct, 2015 1 commit
-
-
Kevin Modzelewski authored
pyxl_bench allocation reductions
-
- 21 Oct, 2015 2 commits
-
-
Marius Wachtler authored
rewrite instance_setattro
-
Marius Wachtler authored
-
- 20 Oct, 2015 2 commits
-
-
Kevin Modzelewski authored
LLVM tier: adjust num of IC slots depending on the num of times the IC got rewritten in the bjit tier
-
Marius Wachtler authored
LLVM tier: adjust num of IC slots depending on the num of times the IC got rewritten in the bjit tier
-
- 16 Oct, 2015 18 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Avoid creating most slice objects
-
Kevin Modzelewski authored
Module-level functions go through a slightly different code path than class-level ones, so this commit adds the METH_O3/METH_D3 calling conventions to that as well.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Some stuff to enable "test_set"
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
We've been allocating slice objects for slicing operations, but CPython's internal slice methods already take separate start+stop arguments. So if we see a slice, instead of creating the slice and sending it off to getitem, try calling PySequence_GetSlice. This will be slower for classes with user-defined __getitem__ functions that can handle slices; we can fix that by adding rewriting to this new endpoint, but it seems to not matter too much right now.
-
Kevin Modzelewski authored
Cleanup the __str__, __repr__ support and let they handle unicode strings
-
Boxiang Sun authored
-
Marius Wachtler authored
This converts a lot of -(int) into (-int)
-
Marius Wachtler authored
-
Boxiang Sun authored
-
Boxiang Sun authored
-
Marius Wachtler authored
typeLookup: guard on tp_version_tag instead of mro
-
Marius Wachtler authored
For types which don't have Py_TPFLAGS_HAVE_VERSION_TAG set we keep the old behaviour
-
Marius Wachtler authored
object cache: hash IR before running any opt passes
-
Kevin Modzelewski authored
Remove an old assert
-
Kevin Modzelewski authored
-
- 15 Oct, 2015 10 commits
-
-
Kevin Modzelewski authored
Remove unneeded pyston workarounds + fix misc cpython test errors
-
Kevin Modzelewski authored
Reenable unboxed values
-
Marius Wachtler authored
add list self assignment and list.index with non int args add thread._count copy over test_urllib2 from the correct python version
-
Marius Wachtler authored
-
Marius Wachtler authored
This lets us to skip running the opt passes when we find a cached object file. This has the disadvantage that opt passes are not allowed to call embedRelocatablePtr() but has the advantage that we could do more costly optimizations in the future without hurting the perf on the second run.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
- Change INT to a type that remembers whether it was boxed or not. - We still need a way of specifying a plain unboxed int, so add a "phony" UNBOXED_INT. UNBOXED_INT is not usable as a variable type, but can be used to specify argument and return types. It's up to the receiver (irgen or type analysis) to convert UNBOXED_INT to a usable INT. Right now that's only guarded with a number of asserts (and not through, say, the C++ type system).
-
Kevin Modzelewski authored
This will fail even with the current workaround
-
Kevin Modzelewski authored
Add cpythons method cache
-