Change by Mark Shannon :
--
pull_requests: +27838
pull_request: https://github.com/python/cpython/pull/29595
___
Python tracker
<https://bugs.python.org/issue44
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/issue45
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
Mark Shannon added the comment:
https://bugs.python.org/issue45829 is the related issue for special methods
--
___
Python tracker
<https://bugs.python.org/issue45
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
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
Change by Mark Shannon :
--
pull_requests: +27819
pull_request: https://github.com/python/cpython/pull/29575
___
Python tracker
<https://bugs.python.org/issue45
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/b9310773756f40f77e075f221a90dd41e6964efc
Change by Mark Shannon :
--
pull_requests: +27774
pull_request: https://github.com/python/cpython/pull/29524
___
Python tracker
<https://bugs.python.org/issue45
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
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
Change by Mark Dickinson :
--
title: SAP HANA Training in Chennai -> spam
___
Python tracker
<https://bugs.python.org/issue45784>
___
___
Python-bugs-list mai
Change by Mark Dickinson :
--
Removed message: https://bugs.python.org/msg406152
___
Python tracker
<https://bugs.python.org/issue45784>
___
___
Python-bug
Change by Mark Shannon :
--
nosy: +brandtbucher
___
Python tracker
<https://bugs.python.org/issue45550>
___
___
Python-bugs-list mailing list
Unsubscribe:
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/4cdeee5978ee3f8ea7fe95172ae04d866cd88177
Mark Dickinson added the comment:
On Mac, collections.abc is imported at startup time via site.py (which imports
rlcompleter, which imports inspect, which imports collections.abc). I'd guess
it's the same on Linux.
mdickinson@mirzakhani cpython % ./python.exe
Python 3.11.0a2+ (heads/main
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
Mark Dickinson added the comment:
Sorry Rahul: I'm not the right person to help you push this forward.
I'm sympathetic to the problem: I've encountered similar issues in "Real Code",
where we needed to associate log outputs generated by worker pool threads with
the ac
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
Mark Dickinson added the comment:
> previously one could write .submit(function_name, *args, **kwargs)
> but now one should write
> .submit(function_name, name_of_thread, *args, **kwargs)
> name_of_thread can be None
This approach can't work, I'm afraid: it would be a backwards-
Mark Dickinson added the comment:
Interesting. I think the behaviour of the Python implementation behaviour is
actually more correct here: neither `int` nor `float` supports 'N', and I'm not
seeing any indication in tests or documentation that 'N' should be supported.
So is this a bug
Mark Dickinson added the comment:
Christian Heimes pointed out in the PR discussion that we can't simply modify
libmpdec, since some vendors unbundle the mpdecimal library.
So some options are:
0. Do nothing.
1. Request that this feature to be added upstream, so that it eventually makes
Change by Mark Dickinson :
--
keywords: +patch
pull_requests: +27693
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/29439
___
Python tracker
<https://bugs.python.org/issu
Mark Dickinson added the comment:
> It looks like quite similar changes have already been made:
Yes, I think this isn't something that needs to be resolved for this issue, but
it is something we need to think about. (Though perhaps the resolution is just
"Don't worry about it until
Change by Mark Dickinson :
--
keywords: +patch
pull_requests: +27692
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/29438
___
Python tracker
<https://bugs.python.org/issu
Mark Dickinson added the comment:
Serhiy: this is not a duplicate of #43624. That issue is about underscores in
the *fractional* part of a (float / complex / Decimal) number, and the changes
to the formatting mini-language syntax that would be necessary to support that.
This issue is simply
New submission from John-Mark Gurney :
The documentation for Traversable.name says it is a method, not a property:
https://docs.python.org/3/library/importlib.html#importlib.abc.Traversable.name
The issue is that with Python 3.9.7 (default, Nov 1 2021, 11:26:33), using a
standard posix
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
Change by Mark Dickinson :
--
nosy: -mark.dickinson
___
Python tracker
<https://bugs.python.org/issue45708>
___
___
Python-bugs-list mailing list
Unsubscribe:
Mark Dickinson added the comment:
> whether Decimal should extend beyond the specification in this case
We already go way beyond the original specification for string formatting. The
spec doesn't go further than specifying to-scientific-string and
to-engineering-string, neither of wh
Mark Dickinson added the comment:
I think the two main reasons that applied to not implementing the parsing part
of PEP 515 for the Decimal type (speed, compliance with the IBM specification)
don't apply to the formatting side.
We do need to think about the implications of making local
Change by Mark Dickinson :
--
nosy: +eric.smith, mark.dickinson
___
Python tracker
<https://bugs.python.org/issue45708>
___
___
Python-bugs-list mailin
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
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/acc89db9233abf4d903af9a7595a2ed7478fe7d3
Mark Dickinson added the comment:
I'm not sure I understand the problem that you're reporting - what issues are
you seeing in practice?
x64 should be fine here. In normal circumstances, the compiled version of
dtoa.c will be using SSE2 instructions and will already be doing floating-point
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
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
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
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/7f61d9d84843e3445f62eb00c47902f0daa30a72
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/0a1a36b74bdf8da286924a1c9652853b1c46f536
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
Change by Mark Shannon :
--
pull_requests: +27530
pull_request: https://github.com/python/cpython/pull/29267
___
Python tracker
<https://bugs.python.org/issue45
Mark Shannon added the comment:
Do you have results for pyperformance?
--
___
Python tracker
<https://bugs.python.org/issue45636>
___
___
Python-bugs-list mailin
Change by Mark Shannon :
--
pull_requests: +27501
pull_request: https://github.com/python/cpython/pull/29238
___
Python tracker
<https://bugs.python.org/issue45
Change by Mark Shannon :
--
pull_requests: +27498
pull_request: https://github.com/python/cpython/pull/29235
___
Python tracker
<https://bugs.python.org/issue45
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
Change by Mark Shannon :
--
priority: normal -> release blocker
___
Python tracker
<https://bugs.python.org/issue43683>
___
___
Python-bugs-list mai
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
Change by Mark Shannon :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
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/82a662e5216a9b3969054c540a759a9493468510
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
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
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
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
Mark Dickinson added the comment:
I don't think this is a bug: there's still a reference to the `A` instance in
`sys.exc_info()` (specifically, in the exception traceback) in this case, so
that instance is still alive.
If you add an `except: pass` clause to your `try / finally`, you should
Mark Shannon added the comment:
What is `source`?
--
___
Python tracker
<https://bugs.python.org/issue45563>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Mark Dickinson :
Looking at issue #35037 (which is a compatibility issue having to do with
PYLONG_BITS_IN_DIGIT), I'm wondering whether it would make sense to drop
support for 15-bit PyLong digits altogether. This would simplify some of the
code, eliminate a configuration
Mark Dickinson added the comment:
This should probably be a separate issue, but I wonder whether the 15-bit digit
option has value any more. Should we just drop that option and always use
30-bit digits?
30-bit digits were introduced at a time when we couldn't rely on a 64-bit
integer type
Mark Dickinson added the comment:
See also discussion in #44970, which is closed as a duplicate of this issue.
--
___
Python tracker
<https://bugs.python.org/issue15
Mark Dickinson added the comment:
> Is not it a duplicate of issue15996?
Yes, I think it's close enough. Thanks.
--
resolution: -> duplicate
stage: -> resolved
status: open -> closed
superseder: -> pow() for complex numbers is rough a
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
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/8863a0fcc5f04ab7c3428e713917831f9b1deb18
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
Change by Mark Shannon :
--
pull_requests: +27355
pull_request: https://github.com/python/cpython/pull/29033
___
Python tracker
<https://bugs.python.org/issue44
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
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/3163e68c342434db37c69669017f96a4bb2d5f13
Change by Mark Shannon :
--
nosy: +kj
___
Python tracker
<https://bugs.python.org/issue45527>
___
___
Python-bugs-list mailing list
Unsubscribe:
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
Mark Dickinson added the comment:
> Closing this as out of date.
SGTM. Thanks.
--
___
Python tracker
<https://bugs.python.org/issue25934>
___
___
Python-
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/70945d57e775b335eb58b734d82e68484063e835
Change by Mark Dickinson :
--
nosy: +mark.dickinson
___
Python tracker
<https://bugs.python.org/issue45476>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Mark Summerfield :
I mostly use the Python 3.8 docs since that's the Python I use.
However, when I tried using the 3.9 and 3.10 docs I found that the top of each
page has a long search bar (presumably for mobile devices?) but _no_ link to
the python module index. I find
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/3b3d30e8f78271a488965c9cd11136e1aa890757
Change by Mark Shannon :
--
pull_requests: +27226
pull_request: https://github.com/python/cpython/pull/28937
___
Python tracker
<https://bugs.python.org/issue45
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/3901c081143ef29624f9c1cb49cc70a70321d139
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/a8b9350964f43cb648c98c179c8037fbf3ff8a7d
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
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 that way. They wer
Mark Dickinson added the comment:
+1 for the removals. (We should fix #44970 too, but as you say that's a
separate issue. And I suspect that the Py_ADJUST_ERANGE1() use for float pow
should be replaced, too.)
--
___
Python tracker
<ht
Change by Mark Shannon :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Mark Shannon added the comment:
Struct names aren't exported as symbols.
$ nm ./python | grep CFrame
So, I assume that are worried about name clashes for code that has
#include "Python.h".
Isn't the threadstate struct supposed to be opaque?
If so, then shouldn't it be moved to a
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +27169
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/28871
___
Python tracker
<https://bugs.python.org/issu
New submission from Mark Shannon :
https://github.com/python/cpython/pull/28488 breaks PEP 523 as it bypasses
_PyEval_EvalFrame.
The fix is simple, we need to check tstate->interp->eval_frame.
--
assignee: Mark.Shannon
components: Interpreter Core
messages: 403637
nosy: Mark.S
Change by Mark Shannon :
--
pull_requests: +27145
pull_request: https://github.com/python/cpython/pull/28829
___
Python tracker
<https://bugs.python.org/issue45
Mark Shannon added the comment:
Nothing to do with it being Windows, or computed gotos.
I forgot to bump magic number again :(
--
assignee: -> Mark.Shannon
___
Python tracker
<https://bugs.python.org/issu
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +27125
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/28802
___
Python tracker
<https://bugs.python.org/issu
Mark Shannon added the comment:
Sadly the MSVC team are claiming that this isn't a bug in their compiler.
Not sure how we convince them that it is. The website rejects any attempt to
reopen the issue.
How feasible would it be to use Clang or GCC on Windows
Mark Shannon added the comment:
Yes, this is worth doing, IMO.
It adds no more code and probably reduces maintenance costs as any
improvements/bug-fixes to the rust/ruby versions can be easily ported.
Even if the benefit is small, the cost is basically zero.
--
nosy: +Mark.Shannon
Mark Dickinson added the comment:
Larry: the first line was introduced in #20189. Does it still make sense to
keep it at this point?
--
nosy: +larry
___
Python tracker
<https://bugs.python.org/issue45
New submission from Mark Dickinson :
The docstring of the "type" builtin is mildly confusing. Here's what the first
few lines of the output for `help(type)` look like for me (on Python 3.10.0rc2):
class type(object)
| type(object_or_name, bases, dict)
| type(object) -> the
Mark Shannon added the comment:
New changeset a7252f88d3fa33036bdd6036b8c97bc785ed6f17 by Mark Shannon in
branch 'main':
bpo-40116: Add insertion order bit-vector to dict values to allow dicts to
share keys more freely. (GH-28520)
https://github.com/python/cpython/commit
Change by Mark Shannon :
--
keywords: +patch
pull_requests: +27099
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/28755
___
Python tracker
<https://bugs.python.org/issu
New submission from Mark Shannon :
Python has two unconditional jumps, JUMP_ABSOLUTE and JUMP_FORWARD.
The bytecode compiler should ensure that all forward jumps use JUMP_FORWARD and
all backwards jumps use JUMP_ABSOLUTE.
That way, the interpreter will know that JUMP_ABSOLUTE jumps
Mark Shannon added the comment:
If some misses are caused by mixed int/float operands, it might be worth
investigating whether these occur in loops.
Most JIT compilers perform some sort of loop peeling to counter this form of
type instability.
E.g.
x = 0
for ...
x += some_float()
`x
Mark Shannon added the comment:
New changeset bd627eb7ed08a891dd1356756feb1ce2600358e4 by Mark Shannon in
branch 'main':
bpo-43760: Check for tracing using 'bitwise or' instead of branch in dispatch.
(GH-28723)
https://github.com/python/cpython/commit
Change by Mark Shannon :
--
pull_requests: +27070
pull_request: https://github.com/python/cpython/pull/28723
___
Python tracker
<https://bugs.python.org/issue43
Mark Shannon added the comment:
127 and 48 aren't instructions.
>>> opcode.stack_effect(48)
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid opcode or oparg
So the output from dis seems correct.
>If not, how would it deal with
New submission from Mark Shannon :
A "Normal" Python objects is conceptually just a pair of pointers, one to the
class, and one to the dictionary.
With shared keys, the dictionary is redundant as it is no more than a pair of
pointers, one to the keys and one to the values.
Mark Dickinson added the comment:
Did you by any chance get an error message resembling the following?
> "Cannot cast ufunc 'add' output from dtype('float64') to dtype('int64') with
> casting rule 'same_kind'"
(If you can give us a complete piece of code that we c
Change by Mark Dickinson :
--
nosy: +mark.dickinson
___
Python tracker
<https://bugs.python.org/issue45332>
___
___
Python-bugs-list mailing list
Unsubscribe:
501 - 600 of 17965 matches
Mail list logo