-
Notifications
You must be signed in to change notification settings - Fork 289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Tk support #1298
Open
Daetalus
wants to merge
4,666
commits into
pyston:master
Choose a base branch
from
Daetalus:tk_support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[WIP] Tk support #1298
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Conflicts: src/codegen/compvars.cpp
Fix remaining "check refcounting" assertions
some minor NumPy fixing
Numpy was hitting this a lot I love optimizing things we haven't approached before. This small change improved numpy.test() performance by 20%.
- support CPython - don't blow away the checkout each time
so that it can be used in more places. Looking at pyxl_bench2_10x, most of the calls to PyType_GenericAlloc are from the dict and list iterator classes, which don't use DEFAULT_CLASS_SIMPLE (or DEFAULT_CLASS) since they use the same C++ class with multiple Python classes. So by extracting out the core of that function, it's now usable by those other classes. Also convert some things to DEFAULT_CLASS_SIMPLE while we're at it.
merge the missing merge commits (mostly cosmetic change)
One small change for numpy performance
Extract the logic from DEFAULT_CLASS_SIMPLE
I don't know what the reason is, but it's tripping up cffi's test suite.
Reenable the 'extra' tests
I did not trigger this bug (also could not come up with a test) but just by inspecting the code I thought it's very suspicious. But I did remove the assert(!exc_state.is_reraise) assert because it got hit in a legitimate case, (c++ exception got rethrowen in the llvm tier, cought in our c++ code and rethrowen because of api mismatch. With no python code in between.)
enable sqlalchemy_smalltest
Some cleanup for the refcounting merge
this speeds up a simple numpy benchmark by about 10x.
tuple: implement tp_as_sequence->sq_contains
this is an advantage for _PyObject_GC_TRACK which before compiled to something like this: cmpq $-2, -16(%rdi) jne .LBB0_2 movq $-3, -16(%rdi) movq _PyGC_generation0(%rip), %rax movq %rax, -32(%rdi) movq _PyGC_generation0(%rip), %rax movq 8(%rax), %rax movq %rax, -24(%rdi) leaq -32(%rdi), %rcx movq %rcx, (%rax) movq _PyGC_generation0(%rip), %rax movq %rcx, 8(%rax) and now compiles to cmpq $-2, -16(%rdi) jne .LBB0_2 movq $-3, -16(%rdi) movq _PyGC_generation0(%rip), %rax movq %rax, -32(%rdi) movq 8(%rax), %rcx movq %rcx, -24(%rdi) leaq -32(%rdi), %rdx movq %rdx, (%rcx) movq %rdx, 8(%rax) notice that it had to load _PyGC_generation0 three times because the compiler had to assume that because of aliasing it got motified. (and this loads actually showed up in profiling as somewhat expensive)
Merge refcounting into master
docker: we are now using cython 0.24 + update readme for 0.5.1 release
Bump version numbers
it support non str separators fixes pyston#1297
str: use cpythons [r]partition
Daetalus
force-pushed
the
tk_support
branch
3 times, most recently
from
July 18, 2016 15:43
10c59dc
to
a0367b9
Compare
…slots_issue1197 Add sq_slots & mp_slots to instance (issue pyston#1197)
Daetalus
force-pushed
the
tk_support
branch
4 times, most recently
from
July 18, 2016 18:10
c5de126
to
8054c1c
Compare
The source code files of _tkinter and Tkinter already included in Pyston. But the way of Pyston include submodule in from_cpython/Lib was different than CPython, so did some hack in getpath.c. And CPython use some functions to find tk and tcl lib and head files. For now, this patch just hardcode the path in from_cpython/setup.py, like we did in cffi extension.
When try to support tk. The Py_None is a wrapper of pyston `None`. It will conflict with other library's None. So rename the pure pyston `None` to pyston_None. And use Py_None instead pyston_None when possible. Just like dropbox#1231 for Py_True and Py_False
Daetalus
force-pushed
the
tk_support
branch
4 times, most recently
from
July 19, 2016 04:01
2e9d38e
to
0483605
Compare
Tk application need this method to stop main window and to some other things.
@@ -591,15 +592,20 @@ calculate_path(void) | |||
bufsz += strlen(zip_path) + 1; | |||
bufsz += strlen(exec_prefix) + 1; | |||
|
|||
// Pyston change: add from_cpython/Lib and lib_pyston | |||
// Pyston change: add from_cpython/Lib, lib_pyston and Lib/lib-tk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty skeptical of this change -- we shouldn't have to add any libraries here. Can we just see how CPython ends up not needing this, and try to copy it?
kmod
force-pushed
the
master
branch
2 times, most recently
from
October 28, 2020 21:01
352fd89
to
6488a3e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There have several reasons that I add tk support in Pyston: