Skip to content
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

Implement _GROW_TIER2_FRAME without adding tier2_extra_size #72

Conversation

gvanrossum
Copy link

Roll back the changes to ceval.c and pycore_frame.c, in favor of this implementation of _GROW_TIER2_FRAME:

        op(_GROW_TIER2_FRAME, (--)) {
            DEOPT_IF(frame->owner != FRAME_OWNED_BY_THREAD);
            DEOPT_IF(stack_pointer + oparg > tstate->datastack_limit);
            assert(stack_pointer <= tstate->datastack_top);
            tstate->datastack_top = stack_pointer + oparg;
        }

This requires disabling one assert in ceval.c and rolling back the changes to test_sys.py.

@Fidget-Spinner This is what I proposed here.

ericsnowcurrently and others added 26 commits March 4, 2024 19:32
I had added an extra cleanup abstraction a while back that has turned out to be unnecessary.
… Modules Handle Reloading Properly (pythongh-115493)

The problem manifested when the .py module got reloaded and the corresponding extension module didn't. The .py module registers types with the extension and the extension was not allowing that to happen more than once. The solution: let it happen more than once.
Remove sentence in Tools/c-analyzer/README referring to deleted
ignore-globals.txt.
…/preview2 primitives (python#116327)

* pythonGH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives

* Add the configure changes

* Update `wasm_build.py`
closure is not a function pointer, it is a user data pointer.
…honGH-115771)

urllib.parse functions parse_qs() and parse_qsl() now support bytes
arguments containing raw and percent-encoded non-ASCII data.
…-116328)

This includes adding pickle support to various classes, and small changes to improve the maintainability of the low-level _xxinterpqueues module.
Signed-off-by: cui fliter <imcusg@gmail.com>
This adjusts `length` rather than using `length+1`
all over the place.
…ython#116343)

This sets `MI_DEBUG` to `2` in debug builds to enable `mi_assert_internal()`
calls. Expensive internal assertions are not enabled.

This also disables an assertion in free-threaded builds that would be
triggered by the free-threaded GC because we traverse heaps that are not
owned by the current thread.
@gvanrossum
Copy link
Author

Alas, when I run the tests (in python#116390) I get crashes in all the Linux JIT builds. Since all I have is a Mac (whose JIT tests pass) I cannot easily debug this. :-(

@gvanrossum gvanrossum closed this Mar 5, 2024
@gvanrossum gvanrossum deleted the kenjin/tier2_inliner_redux branch March 5, 2024 23:43
@gvanrossum gvanrossum restored the kenjin/tier2_inliner_redux branch March 5, 2024 23:46
@gvanrossum gvanrossum reopened this Mar 5, 2024
@gvanrossum
Copy link
Author

I renamed the branch, redid the merge, and Brandt fixed the JIT issue for me (it wasn't a JIT issue, and I'm still unsure why it works, but it seems to work). I'll make a new PR later when I'm more confident. Sorry!

@gvanrossum gvanrossum closed this Mar 6, 2024
@gvanrossum gvanrossum deleted the kenjin/tier2_inliner_redux branch March 7, 2024 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.