- 16 Oct, 2015 15 commits
-
-
Kevin Modzelewski authored
Avoid creating most slice objects
-
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 11 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
-
Kevin Modzelewski authored
Fix a rare 'assert R11 is not used' crash
-
- 14 Oct, 2015 2 commits
-
-
Marius Wachtler authored
-
Marius Wachtler authored
-
- 13 Oct, 2015 3 commits
-
-
Kevin Modzelewski authored
disable moderate opt and pyston passes and increase reopt threshold
-
Kevin Modzelewski authored
Add module "readline" and update CPython test notes.
-
Kevin Modzelewski authored
handle the situation which provide a directory to pyston
-
- 12 Oct, 2015 2 commits
-
-
Marius Wachtler authored
My sym entry llvm stackmap patch contains a bug where it will emit stackmap entries with the wrong offset into the large constants array. The problem is that the code assumes that the symbolic stack map constants are emitted at the end of the constants array, but doen't take into consideration that "normal" large constants can be added after symbolic entries. Thereby making the assigned offsets point to the wrong constants. To fix this issue I'm calculating the offset for symbolic entries now at the very end when we know that the number of constants can't change anymore. A nicer fix would be to not emit the symbolic entries inside the large cosntants array but instead into a special one. But I think this is overkill for now and would like to todo this when the stackmap v2 code landed inside llvm in order to not have to implement it twice.
-
Marius Wachtler authored
-
- 10 Oct, 2015 7 commits
-
-
Boxiang Sun authored
-
Kevin Modzelewski authored
Try to fix "enforce return conventions" perf regression
-
Kevin Modzelewski authored
Misc perf improvements
-
Kevin Modzelewski authored
Pending review: add __call__ attribute to builtin functions and methods
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
We can rewrite a callattr where the getattr was done via a getattro, if we are in CXX mode. This got lost in the "enforce return conventions" PR and resulted in a 4% slowdown on pyxl bench.
-