[issue45430] PEP 523 no longer works

2021-10-11 Thread Mark Shannon
Change by Mark Shannon : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-12 Thread Mark Shannon
Mark Shannon added the comment: Josh, I'm not really following the details of what you are saying. You claim "Key-sharing dictionaries were accepted largely without question because they didn't harm code that broke them". Is that true? I don't remember it tha

[issue45247] [C API] Add explicit support for Cython to the C API

2021-10-13 Thread Mark Shannon
Mark Shannon added the comment: I disagree. All that is doing is locking in the current poor interface. We do need to extend the C API for these uses, yes. But we need an API that addresses Cython's needs directly and at a higher level. For example, Cython often wants to insert a frame

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-13 Thread Mark Shannon
Mark Shannon added the comment: New changeset a8b9350964f43cb648c98c179c8037fbf3ff8a7d by Mark Shannon in branch 'main': bpo-45340: Don't create object dictionaries unless actually needed (GH-28802) https://github.com/python/cpython/commit/a8b9350964f43cb648c98c179

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-13 Thread Mark Shannon
Mark Shannon added the comment: New changeset 3901c081143ef29624f9c1cb49cc70a70321d139 by Pablo Galindo Salgado in branch 'main': bpo-45256: Fix cleanup of stolen locals for Python-to-Python calls (GH-28905) https://github.com/python/cpython/commit/3901c081143ef29624f9c1cb49cc70

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-13 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27226 pull_request: https://github.com/python/cpython/pull/28937 ___ Python tracker <https://bugs.python.org/issue45

[issue45367] Specialize BINARY_MULTIPLY

2021-10-14 Thread Mark Shannon
Mark Shannon added the comment: New changeset 3b3d30e8f78271a488965c9cd11136e1aa890757 by Dennis Sweeney in branch 'main': bpo-45367: Specialize BINARY_MULTIPLY (GH-28727) https://github.com/python/cpython/commit/3b3d30e8f78271a488965c9cd11136

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset 70945d57e775b335eb58b734d82e68484063e835 by Mark Shannon in branch 'main': bpo-45256: Avoid C calls for most Python to Python calls. (GH-28937) https://github.com/python/cpython/commit/70945d57e775b335eb58b734d82e68

[issue45527] Reduce overhead for cache hits in specialized opcodes.

2021-10-19 Thread Mark Shannon
New submission from Mark Shannon : Every time we get a cache hit in, e.g. LOAD_ATTR_CACHED, we increment the saturating counting. Takes a dependent load and a store, as well as the shift. For fast instructions like BINARY_ADD_FLOAT, this represents a significant portion of work done in the

[issue45527] Reduce overhead for cache hits in specialized opcodes.

2021-10-19 Thread Mark Shannon
Change by Mark Shannon : -- nosy: +kj ___ Python tracker <https://bugs.python.org/issue45527> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-10-19 Thread Mark Shannon
Mark Shannon added the comment: New changeset 3163e68c342434db37c69669017f96a4bb2d5f13 by Ken Jin in branch 'main': bpo-44525: Specialize ``CALL_FUNCTION`` for C function calls (GH-26934) https://github.com/python/cpython/commit/3163e68c342434db37c69669017f96

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-20 Thread Mark Shannon
Mark Shannon added the comment: Josh, please reopen if you have more to add. -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-10-20 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27355 pull_request: https://github.com/python/cpython/pull/29033 ___ Python tracker <https://bugs.python.org/issue44

[issue45527] Reduce overhead for cache hits in specialized opcodes.

2021-10-20 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27361 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29092 ___ Python tracker <https://bugs.python.org/issu

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-10-20 Thread Mark Shannon
Mark Shannon added the comment: New changeset 8863a0fcc5f04ab7c3428e713917831f9b1deb18 by Mark Shannon in branch 'main': bpo-44525: Specialize simple Python calls. (GH-29033) https://github.com/python/cpython/commit/8863a0fcc5f04ab7c3428e71391783

[issue45550] Increase the information content and robustness of tp_version_tag.

2021-10-21 Thread Mark Shannon
New submission from Mark Shannon : Currently, we use the `tp_version_tag` as a proxy for the state of a class when specializing. When we have issued 2**32 tags, we stop issuing tags. This prevents specializing of classes that need a new tag. We can make a few enhancements: 1. Reserve the

[issue45563] inspect.getframeinfo() doesn't handle frames without lineno

2021-10-22 Thread Mark Shannon
Mark Shannon added the comment: What is `source`? -- ___ Python tracker <https://bugs.python.org/issue45563> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue45575] Use a more principled approach to freelists

2021-10-22 Thread Mark Shannon
New submission from Mark Shannon : We have multiple freelists for performance, but they are adhoc and poorly integrated with the underlying allocator. Improving this should give us a decent speedup. -- assignee: Mark.Shannon components: Interpreter Core messages: 404788 nosy

[issue45575] Use a more principled approach to freelists

2021-10-22 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27439 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29165 ___ Python tracker <https://bugs.python.org/issu

[issue45563] inspect.getframeinfo() doesn't handle frames without lineno

2021-10-22 Thread Mark Shannon
Mark Shannon added the comment: If I knew where to look, I would be looking myself :) Is the frozen module one built into CPython or one you have generated? -- ___ Python tracker <https://bugs.python.org/issue45

[issue40512] [subinterpreters] Meta issue: per-interpreter GIL

2021-10-26 Thread Mark Shannon
Change by Mark Shannon : -- nosy: +Mark.Shannon nosy_count: 9.0 -> 10.0 pull_requests: +27492 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29228 ___ Python tracker <https://bugs.python.org/i

[issue44511] Improve the bytecode for mapping patterns

2021-10-27 Thread Mark Shannon
Mark Shannon added the comment: New changeset 82a662e5216a9b3969054c540a759a9493468510 by Brandt Bucher in branch 'main': bpo-44511: Improve the bytecode for class and mapping patterns (GH-26922) https://github.com/python/cpython/commit/82a662e5216a9b3969054c540a759a

[issue45388] Use JUMP_FORWARD for all forward jumps.

2021-10-27 Thread Mark Shannon
Change by Mark Shannon : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-10-27 Thread Mark Shannon
Mark Shannon added the comment: Damien, thanks for catching this. The change was not intended. There are two kind of exceptions raised by send. 1. Where a pre-condition is not met, e.g. a generator is already ruuning (caller errors) 2. When the generator/coroutine raises an exception

[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-10-27 Thread Mark Shannon
Change by Mark Shannon : -- priority: normal -> release blocker ___ Python tracker <https://bugs.python.org/issue43683> ___ ___ Python-bugs-list mai

[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-10-27 Thread Mark Shannon
Mark Shannon added the comment: Just to be clear, it is the behavior change that should be reverted, not necessarily the new bytecode. In fact we should probably push on with (2) and add an exception handler wrapping the whole generator except the GEN_START. That way a GEN_START exception

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-27 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27498 pull_request: https://github.com/python/cpython/pull/29235 ___ Python tracker <https://bugs.python.org/issue45

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-27 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27501 pull_request: https://github.com/python/cpython/pull/29238 ___ Python tracker <https://bugs.python.org/issue45

[issue45636] Merge BINARY_*/INPLACE_* into BINARY_OP/INPLACE_OP

2021-10-28 Thread Mark Shannon
Mark Shannon added the comment: Do you have results for pyperformance? -- ___ Python tracker <https://bugs.python.org/issue45636> ___ ___ Python-bugs-list mailin

[issue45637] The fallback to find the current frame in the gdb helpers fails for inlined frames

2021-10-28 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27530 pull_request: https://github.com/python/cpython/pull/29267 ___ Python tracker <https://bugs.python.org/issue45

[issue45630] Dump CodeObject API for debugging

2021-10-28 Thread Mark Shannon
Mark Shannon added the comment: What is the motivation for this? I see it could be useful when modifying the compiler, but there is already code for dumping the CFG in the compiler. https://github.com/python/cpython/blob/main/Python/compile.c#L7565 -- nosy: +Mark.Shannon

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-10-28 Thread Mark Shannon
Mark Shannon added the comment: New changeset 0a1a36b74bdf8da286924a1c9652853b1c46f536 by Ken Jin in branch 'main': bpo-44525: Add recursive checks for `CALL_FUNCTION_BUILTIN_O` (GH-29271) https://github.com/python/cpython/commit/0a1a36b74bdf8da286924a1c965285

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-10-28 Thread Mark Shannon
Mark Shannon added the comment: New changeset 7f61d9d84843e3445f62eb00c47902f0daa30a72 by Mark Shannon in branch 'main': bpo-45256: Rationalize code around Python-to-Python calls a bit. (GH-29235) https://github.com/python/cpython/commit/7f61d9d84843e3445f62eb00c47902

[issue45522] Allow to build Python without freelists

2021-10-28 Thread Mark Shannon
Mark Shannon added the comment: I think we should revert this. It just makes working with freelists more cumbersome. Having more configure options just makes it more likely that we will fail to test some configuration. If you want to disable freelists in your experiments, feel free to do so

[issue45691] Partial moving of core objects to interpreter state is incorrect at best, unsafe at worse.

2021-11-02 Thread Mark Shannon
New submission from Mark Shannon : We currently have an unstable state in the VM where some core objects are static and some are per-interpreter. For example, smalls ints are allocated per-interpreter, but many classes are allocated statically. This means that if any int is reachable from a

[issue45691] Partial moving of core objects to interpreter state is incorrect at best, unsafe at worse.

2021-11-02 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27626 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29366 ___ Python tracker <https://bugs.python.org/issu

[issue45691] Partial moving of core objects to interpreter state is incorrect at best, unsafe at worse.

2021-11-03 Thread Mark Shannon
Mark Shannon added the comment: New changeset acc89db9233abf4d903af9a7595a2ed7478fe7d3 by Mark Shannon in branch 'main': bpo-45691: Make array of small ints static to fix use-after-free error. (GH-29366) https://github.com/python/cpython/commit/acc89db9233abf4d903af9a7595a2e

[issue45709] 3.11 regression: tracing with-statement on exit from block

2021-11-04 Thread Mark Shannon
Mark Shannon added the comment: Probably an oversight when converting to zero-overhead exceptions. -- assignee: -> Mark.Shannon type: -> behavior ___ Python tracker <https://bugs.python.org/i

[issue45725] test_freeze doesn't clean up after itself

2021-11-05 Thread Mark Shannon
New submission from Mark Shannon : test_tools leaves a copy of the source in Tools/freeze/test/outdir/ which messes up grep and other tools used for searching the source. -- components: Tests messages: 405784 nosy: Mark.Shannon, eric.snow priority: normal severity: normal status: open

[issue45753] Further speed up Python-to-Python calls.

2021-11-08 Thread Mark Shannon
New submission from Mark Shannon : There are three things we want to do: 1. Speed up pushing and popping frames. See https://github.com/faster-cpython/ideas/issues/111 for details. 2. Avoid tracing and other admin overhead on entering and leaving. See https://github.com/faster-cpython/ideas

[issue45753] Further speed up Python-to-Python calls.

2021-11-10 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27768 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29516 ___ Python tracker <https://bugs.python.org/issu

[issue45711] Simplify the interpreter's (type, val, tb) exception representation

2021-11-10 Thread Mark Shannon
Mark Shannon added the comment: New changeset 4cdeee5978ee3f8ea7fe95172ae04d866cd88177 by Irit Katriel in branch 'main': bpo-45711: remove unnecessary DUP_TOP and POP in exception handling (GH-29495) https://github.com/python/cpython/commit/4cdeee5978ee3f8ea7fe95172ae04d

[issue45550] Increase the information content and robustness of tp_version_tag.

2021-11-10 Thread Mark Shannon
Change by Mark Shannon : -- nosy: +brandtbucher ___ Python tracker <https://bugs.python.org/issue45550> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue45786] Avoid allocating when exiting frame; it may be unsafe.

2021-11-11 Thread Mark Shannon
New submission from Mark Shannon : We exiting a frame (returning from a Python function) we have to release the stack allocated frame. If a heap-allocated frame object exists, we need to copy the contents of the (stack) frame into the frame object. However, this involves allocating memory for

[issue45786] Avoid allocating when exiting frame; it may be unsafe.

2021-11-11 Thread Mark Shannon
Mark Shannon added the comment: Ok, so it is not as bad as I thought. A failed allocation might leave us with an invalid frameobject, though. So it is still worth fixing. -- ___ Python tracker <https://bugs.python.org/issue45

[issue45753] Further speed up Python-to-Python calls.

2021-11-11 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27774 pull_request: https://github.com/python/cpython/pull/29524 ___ Python tracker <https://bugs.python.org/issue45

[issue45753] Further speed up Python-to-Python calls.

2021-11-16 Thread Mark Shannon
Mark Shannon added the comment: New changeset b9310773756f40f77e075f221a90dd41e6964efc by Mark Shannon in branch 'main': bpo-45753: Make recursion checks more efficient. (GH-29524) https://github.com/python/cpython/commit/b9310773756f40f77e075f221a90dd

[issue45753] Further speed up Python-to-Python calls.

2021-11-16 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27819 pull_request: https://github.com/python/cpython/pull/29575 ___ Python tracker <https://bugs.python.org/issue45

[issue45725] test_freeze doesn't clean up after itself

2021-11-16 Thread Mark Shannon
Mark Shannon added the comment: test_tools also seems to fail a lot unless `make clean` is run first. Possibly related? -- ___ Python tracker <https://bugs.python.org/issue45

[issue45829] Remove C stack use by specializing BINARY_SUBSCR, STORE_SUBSCR, LOAD_ATTR, and STORE_ATTR

2021-11-17 Thread Mark Shannon
New submission from Mark Shannon : We can remove the C stack use and general overhead of calling special methods implemented in Python for attribute access and indexing. Each operation has a special method that implements it. When that special method is implemented in Python, we should avoid

[issue45256] Remove the usage of the C stack in Python to Python calls

2021-11-17 Thread Mark Shannon
Mark Shannon added the comment: https://bugs.python.org/issue45829 is the related issue for special methods -- ___ Python tracker <https://bugs.python.org/issue45

[issue45829] Remove C stack use by specializing BINARY_SUBSCR, STORE_SUBSCR, LOAD_ATTR, and STORE_ATTR

2021-11-17 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27835 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29592 ___ Python tracker <https://bugs.python.org/issu

[issue45829] Remove C stack use by specializing BINARY_SUBSCR, STORE_SUBSCR, LOAD_ATTR, and STORE_ATTR

2021-11-17 Thread Mark Shannon
Mark Shannon added the comment: I don't think it matter much which we do first. I happened to do BINARY_SUBSCR first. -- ___ Python tracker <https://bugs.python.org/is

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-11-17 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +27838 pull_request: https://github.com/python/cpython/pull/29595 ___ Python tracker <https://bugs.python.org/issue44

[issue45510] Specialize BINARY_SUBTRACT

2021-11-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset 345ba3f080c140dee3102f472bc166c2db191bcc by Dong-hee Na in branch 'main': bpo-45510: Specialize BINARY_SUBTRACT (GH-29523) https://github.com/python/cpython/commit/345ba3f080c140dee3102f472bc166c2db191bcc -- nosy: +Ma

[issue45829] Remove C stack use by specializing BINARY_SUBSCR, STORE_SUBSCR, LOAD_ATTR, and STORE_ATTR

2021-11-18 Thread Mark Shannon
Mark Shannon added the comment: New changeset 21fa7a3e8f99a1a32467f85c877e40cbdafa9da7 by Mark Shannon in branch 'main': bpo-45829: Specialize BINARY_SUBSCR for __getitem__ implemented in Python. (GH-29592) https://github.com/python/cpython/commit/21fa7a3e8f99a1a32467f85c877e40

[issue45609] Specialize STORE_SUBSCR

2021-11-19 Thread Mark Shannon
Mark Shannon added the comment: New changeset 036fead695a9a1e1082992d16ab46bca1cd61a25 by Dennis Sweeney in branch 'main': bpo-45609: Specialize STORE_SUBSCR (GH-29242) https://github.com/python/cpython/commit/036fead695a9a1e1082992d16ab46bca1cd61a25 -- nosy: +Ma

[issue45636] Merge BINARY_*/INPLACE_* into BINARY_OP

2021-11-19 Thread Mark Shannon
Change by Mark Shannon : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue45709] 3.11 regression: tracing with-statement on exit from block

2021-11-19 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27869 stage: needs patch -> patch review pull_request: https://github.com/python/cpython/pull/29638 ___ Python tracker <https://bugs.python.org/issu

[issue45709] 3.11 regression: tracing with-statement on exit from block

2021-11-19 Thread Mark Shannon
Mark Shannon added the comment: Sorry about the delay in fixing this. -- keywords: -patch stage: patch review -> needs patch ___ Python tracker <https://bugs.python.org/issu

[issue45709] 3.11 regression: tracing with-statement on exit from block

2021-11-19 Thread Mark Shannon
Mark Shannon added the comment: New changeset 337cb480e9dc1d27594ebd87a0045d00ec8b1c3a by Mark Shannon in branch 'main': bpo-45709: Fix tracing when exception is handled. (GH-29638) https://github.com/python/cpython/commit/337cb480e9dc1d27594ebd87a0045d

[issue45806] Cannot Recover From StackOverflow in 3.9 Tests

2021-11-19 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27871 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29640 ___ Python tracker <https://bugs.python.org/issu

[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-11-22 Thread Mark Shannon
Mark Shannon added the comment: I'm seeing a similar failure on a debug build of 3.10 as well. ./python Python 3.10.0+ (heads/3.10:9e7a2e4920, Nov 22 2021, 10:51:32) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more

[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-11-22 Thread Mark Shannon
Change by Mark Shannon : -- assignee: -> Mark.Shannon keywords: +3.11regression priority: normal -> release blocker ___ Python tracker <https://bugs.python.org/i

[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-11-22 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27936 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29700 ___ Python tracker <https://bugs.python.org/issu

[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-11-22 Thread Mark Shannon
Mark Shannon added the comment: New changeset 7fd92a8b7ee5bed28c2681fa38e0a1e76200dd8e by Mark Shannon in branch 'main': bpo-45813: Make sure that frame->generator is NULLed when generator is deallocated. (GH-29700) https://github.com/python/c

[issue45871] Refactor exception matcher validation out of JUMP_IF_NOT_EXC_MATCH

2021-11-22 Thread Mark Shannon
Mark Shannon added the comment: New changeset 4d6c0c0cce05befa06e0cad7351b1303ac048277 by Irit Katriel in branch 'main': bpo-45871: Refactor except matcher validation into a separate function so that it can be reused. Add missing unit test. (GH-29711) https://github.com/pyth

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-11-23 Thread Mark Shannon
Mark Shannon added the comment: New changeset 135cabd328504e1648d17242b42b675cdbd0193b by Mark Shannon in branch 'main': bpo-44525: Copy free variables in bytecode to allow calls to inner functions to be specialized (GH-29595) https://github.com/python/cpyt

[issue45786] Avoid allocating when exiting frame; it may be unsafe.

2021-11-23 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27966 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29729 ___ Python tracker <https://bugs.python.org/issu

[issue45880] Performance regression of Int object operators. (Python 3.11)

2021-11-23 Thread Mark Shannon
Mark Shannon added the comment: > I assume there's something wrong with the OP's methodology for profiling. In a word "cProfile". All cProfile is doing is measuring the overhead of cProfile. That the overhead of cProfile has gone up is not surprising. That it has gon

[issue45885] Specialize COMPARE_OP

2021-11-24 Thread Mark Shannon
Mark Shannon added the comment: Is COMPARE_OP worth specializing by itself? Most comparisons are followed by a jump, and much of the overhead is in the branching around the choice of operator as well as pushing and popping (with inc/decrefs) a value that has only one bit of information

[issue45905] Provide a C API for introspectable frames for Cython and similar tools

2021-11-26 Thread Mark Shannon
New submission from Mark Shannon : See https://github.com/cython/cython/issues/4484 -- messages: 407069 nosy: Mark.Shannon priority: normal severity: normal status: open title: Provide a C API for introspectable frames for Cython and similar tools

[issue45905] Provide a C API for introspectable frames for Cython and similar tools

2021-11-26 Thread Mark Shannon
Change by Mark Shannon : -- assignee: -> Mark.Shannon type: -> enhancement versions: +Python 3.11 ___ Python tracker <https://bugs.python.org/i

[issue45923] Improve performance of sys.settracing based tools.

2021-11-29 Thread Mark Shannon
New submission from Mark Shannon : In our quest for performance, the performance of sys.settracing based tools has probably gotten worse. 1. How do we measure this? 2. How do fix this? We will initially use coverage.py as proxy for all sys.settracing based tools when measuring performance

[issue45786] Avoid allocating when exiting frame; it may be unsafe.

2021-11-29 Thread Mark Shannon
Mark Shannon added the comment: New changeset 60929576e40038ec71d896230f69e4411c82be4b by Mark Shannon in branch 'main': bpo-45786: Allocate space for frame in frame object. (GH-29729) https://github.com/python/cpython/commit/60929576e40038ec71d896230f69e4

[issue45941] help("modules") segfaults on 3.11, MacOS

2021-12-01 Thread Mark Shannon
Mark Shannon added the comment: Works for me on Ubuntu. Python 3.11.0a2+ (heads/main:0aa0bd0563, Dec 1 2021, 11:39:40) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> help("modules&qu

[issue45941] help("modules") segfaults on 3.11, MacOS

2021-12-01 Thread Mark Shannon
Mark Shannon added the comment: When I say "cffi bug", I should say "is cffi not ported to 3.11 yet?" -- ___ Python tracker <https://bug

[issue45753] Further speed up Python-to-Python calls.

2021-12-01 Thread Mark Shannon
Mark Shannon added the comment: New changeset 49444fb807ecb396462c8e5f547eeb5c6bc5d4de by Mark Shannon in branch 'main': bpo-45753: Interpreter internal tweaks (GH-29575) https://github.com/python/cpython/commit/49444fb807ecb396462c8e5f547eeb

[issue45947] Place dict (and values) pointers at a fixed (negative) offset from the base of the object.

2021-12-01 Thread Mark Shannon
New submission from Mark Shannon : To get to the dict (or values array) of an object, we currently need 3 dependent loads. By placing the dict at a fixed offset, this can be reduced to one. What was `obj[obj->type->dictoffset]` becomes `obj[FIXED_OFFSET]` See https://github.com/

[issue45947] Place dict (and values) pointers at a fixed (negative) offset from the base of the object.

2021-12-01 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +28104 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29879 ___ Python tracker <https://bugs.python.org/issu

[issue45725] test_freeze doesn't clean up after itself

2021-12-02 Thread Mark Shannon
Mark Shannon added the comment: This seems to be fixed. -- resolution: -> fixed stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue45963] Embed interpreter frame in generator.

2021-12-02 Thread Mark Shannon
New submission from Mark Shannon : Currently, the InterpreterFrame for a generator is allocated on the heap separately from the generator. This means that 2 allocations are needed to create a generator, and an extra indirection is needed to get from the generator to the frame. By embedding

[issue45963] Embed interpreter frame in generator.

2021-12-02 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +28115 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29891 ___ Python tracker <https://bugs.python.org/issu

[issue45885] Specialize COMPARE_OP

2021-12-03 Thread Mark Shannon
Mark Shannon added the comment: New changeset 03768c4d139df46212a091ed931aad03bec18b57 by Dennis Sweeney in branch 'main': bpo-45885: Specialize COMPARE_OP (GH-29734) https://github.com/python/cpython/commit/03768c4d139df46212a091ed931aad

[issue45963] Embed interpreter frame in generator.

2021-12-06 Thread Mark Shannon
Mark Shannon added the comment: New changeset 299483c95d601ddcfdce2f96418b6499c1fc7b9f by Mark Shannon in branch 'main': bpo-45963: Make space for the InterpreterFrame of a generator in that generator. (GH-29891) https://github.com/python/cpyt

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-12-06 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +28167 pull_request: https://github.com/python/cpython/pull/29942 ___ Python tracker <https://bugs.python.org/issue44

[issue45890] Add tests for tracing try-except-finally blocks

2021-12-07 Thread Mark Shannon
New submission from Mark Shannon : New changeset a310fd83a014484b8c680de83540c4908b344c6c by Irit Katriel in branch 'main': bpo-45890: Add tests for tracing try-except-finally blocks (GH-29746) https://github.com/python/cpython/commit/a310fd83a014484b8c680de83540c4908b344c6c -

[issue45963] Embed interpreter frame in generator.

2021-12-07 Thread Mark Shannon
Mark Shannon added the comment: I'll look into it now, and fix or revert it. -- ___ Python tracker <https://bugs.python.org/issue45963> ___ ___ Pytho

[issue45963] Embed interpreter frame in generator.

2021-12-07 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +28185 pull_request: https://github.com/python/cpython/pull/29960 ___ Python tracker <https://bugs.python.org/issue45

[issue45947] Place dict (and values) pointers at a fixed (negative) offset from the base of the object.

2021-12-07 Thread Mark Shannon
Mark Shannon added the comment: New changeset 8319114feedd2a5b77378bba24eb9fb2689c5033 by Mark Shannon in branch 'main': bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879) https://github.com/python/cpyt

[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-12-08 Thread Mark Shannon
Mark Shannon added the comment: Sorry about the delay; this dropped off my list. I'll fix it shortly. This is quite an obscure bug, so I'm not sure that it is worth blocking the release for. But I'm not the release manager :) -- ___

[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +28209 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29986 ___ Python tracker <https://bugs.python.org/issu

[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Mark Shannon
Mark Shannon added the comment: New changeset 69806b9516dbe092381f3ef884c7c64bb9b8414a by Mark Shannon in branch 'main': bpo-46009: Do not exhaust generator when send() method raises (GH-29986) https://github.com/python/cpython/commit/69806b9516dbe092381f3ef884c7c6

[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +28211 pull_request: https://github.com/python/cpython/pull/29988 ___ Python tracker <https://bugs.python.org/issue46

[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-12-08 Thread Mark Shannon
Mark Shannon added the comment: New changeset d4363d214097b3fca8b7910c2e0e91c8b0873fb2 by Andrew Svetlov in branch 'main': bpo-45813: Drop redundant assertion from frame.clear() (GH-29990) https://github.com/python/cpython/commit/d4363d214097b3fca8b7910c2e0e91

[issue44525] Implement CALL_FUNCTION adaptive interpreter optimizations

2021-12-09 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +28233 pull_request: https://github.com/python/cpython/pull/30011 ___ Python tracker <https://bugs.python.org/issue44

[issue38500] Provide a way to get/set PyInterpreterState.frame_eval without needing to access interpreter internals

2019-11-08 Thread Mark Shannon
Mark Shannon added the comment: It sounds to me like `PyInterpreterState.eval_frame` is being used to lazily modify the bytecode to support breakpoints. I can see no reason why changing the bytecode can't be done via `function.__code__`. Suppose the code-object with the breakpoint a

[issue38500] Provide a way to get/set PyInterpreterState.frame_eval without needing to access interpreter internals

2019-11-11 Thread Mark Shannon
Mark Shannon added the comment: Fabio, If the user changes the `__code__` attribute of a function then, AFAICT, your debugger does the wrong thing, but bytecode modification does the right thing. Suppose we have two functions `spam` and `eggs`. Set a break point in `eggs`, set `spam

[issue33387] Simplify bytecodes for try-finally, try-except and with blocks.

2019-11-21 Thread Mark Shannon
Change by Mark Shannon : -- pull_requests: +16805 pull_request: https://github.com/python/cpython/pull/17318 ___ Python tracker <https://bugs.python.org/issue33

[issue33387] Simplify bytecodes for try-finally, try-except and with blocks.

2019-11-21 Thread Mark Shannon
Mark Shannon added the comment: Thanks for noticing. https://github.com/python/cpython/pull/17318 -- ___ Python tracker <https://bugs.python.org/issue33

<    2   3   4   5   6   7   8   9   10   11   >