[issue42199] bytecode_helper assertNotInBytecode fails too eagerly

2020-12-17 Thread Dino Viehland
Dino Viehland added the comment: New changeset 6e799be0a18d0bb5bbbdc77cd3c30a229d31dfb4 by Max Bernstein in branch 'master': bpo-42199: Fix bytecode_helper assertNotInBytecode (#23031) https://github.com/python/cpython/commit/6e799be0a18d0bb5bbbdc77cd3c30a229d31dfb4 -

[issue43452] Microoptimize PyType_Lookup for cache hits

2021-03-09 Thread Dino Viehland
New submission from Dino Viehland : The common case going through _PyType_Lookup is to have a cache hit. There's some small tweaks which can make this a little cheaper: 1) the name field identity is used for a cache hit, and is kept alive by the cache. So there's no need to rea

[issue43452] Microoptimize PyType_Lookup for cache hits

2021-03-09 Thread Dino Viehland
Change by Dino Viehland : -- keywords: +patch pull_requests: +23572 stage: -> patch review pull_request: https://github.com/python/cpython/pull/24804 ___ Python tracker <https://bugs.python.org/issu

[issue14543] Upgrade OpenSSL on Windows to 0.9.8u

2012-04-10 Thread Dino Viehland
New submission from Dino Viehland : OpenSSL has had many fixes since the 0.9.8l version, and in particular there is one issue which prevents it from connecting with SSL with a client certificate: the end result is the SSL connection hangs or times out. Updating the OpenSSL version will fix

[issue14543] Upgrade OpenSSL on Windows to 0.9.8u

2012-04-10 Thread Dino Viehland
Dino Viehland added the comment: A 1.0 version would be fine w/ me (I tested it with one of those and it worked as well) - I was just thinking a bug fix release might want to stick w/ a bug fix release of OpenSSL too. -- ___ Python tracker <h

[issue6717] Some problem with recursion handling

2012-04-12 Thread Dino Viehland
Dino Viehland added the comment: Antoine: If you're looking at my test.py then my expectation is that this doesn't crash because a RuntimeError should be raised when the maximum recursion limit is hit, and then the trace handler should be uninstalled because it leaks an excep

[issue6717] Some problem with recursion handling

2012-04-12 Thread Dino Viehland
Dino Viehland added the comment: It's catching the exception when it invokes x, but the recursion enforcement should happen at a method prolog, including at the invocation of g. Therefore if we're at or beyond the recursion limit when invoking the trace handler the limits shoul

[issue6717] Some problem with recursion handling

2012-04-12 Thread Dino Viehland
Dino Viehland added the comment: Maybe there just needs to be a max that it will bump it up? FYI this isn't actually causing any problems for me, I just ran into it while doing IronPython development and was surprised to be able to crash the interpreter w/ pure Python code, and my

[issue6717] Some problem with recursion handling

2012-04-12 Thread Dino Viehland
Dino Viehland added the comment: One thought might be to do a recursion check (and maybe for multiple frames) when entering a try rather than incrementing the recursion limit to allow the handlers to run. That would cause the exception to be more likely taken before you run the code which

[issue36929] Other Python _io implementations may not expose _io in their type names

2019-05-21 Thread Dino Viehland
Dino Viehland added the comment: New changeset ccb7ca728e09b307f9e9fd36ec40353137e68a3b by Dino Viehland (Max Bernstein) in branch 'master': bpo-36929: Modify io/re tests to allow for missing mod name (#13392) https://github.com/python/cpython/commit/ccb7ca728e09b307f9e9fd36ec4035

[issue37001] symtable.symtable doesn't accept bytes which leads to a mismatch from compile()

2019-05-21 Thread Dino Viehland
New submission from Dino Viehland : symtable is useful when combined with compile() to AST to understand what the names bind to. But symtable.symtable() doesn't accept a bytes object, while compile does. Ultimately these feed down to the same API, and could easily lead to subtle misma

[issue37002] PyType_FromSpec can't create immutable types

2019-05-21 Thread Dino Viehland
New submission from Dino Viehland : This is another catch of using PyType_FromSpec (similar to https://bugs.python.org/issue26979 but also completely different). Because PyType_FromSpec produces a heap type it gets the Py_TPFLAGS_HEAPTYPE flag set on the newly produced type. To enforce the

[issue37001] symtable.symtable doesn't accept bytes which leads to a mismatch from compile()

2019-05-21 Thread Dino Viehland
Change by Dino Viehland : -- keywords: +patch pull_requests: +13395 stage: -> patch review ___ Python tracker <https://bugs.python.org/issue37001> ___ ___ Py

[issue36839] Support the buffer protocol in code objects

2019-05-28 Thread Dino Viehland
Dino Viehland added the comment: The PR actually checks that the buffer is read-only (this was also a concern that Mark Shannon had). And the Python buffer protocol says that you need to consistently hand out read-only buffers. So while someone could create a buffer and mutate it outside

[issue37001] symtable.symtable doesn't accept bytes which leads to a mismatch from compile()

2019-05-28 Thread Dino Viehland
Dino Viehland added the comment: New changeset 415406999d7c09af9f3dcacfb4578b9e97b2ce77 by Dino Viehland in branch 'master': bpo-37001: Makes symtable.symtable have parity with compile for input (#13483) https://github.com/python/cpython/commit/415406999d7c09af9f3dcacfb4578b

[issue37001] symtable.symtable doesn't accept bytes which leads to a mismatch from compile()

2019-05-28 Thread Dino Viehland
Change by Dino Viehland : -- stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue37001> ___ ___ Pyth

[issue36839] Support the buffer protocol in code objects

2019-05-28 Thread Dino Viehland
Dino Viehland added the comment: Sure, but immutable/const is almost always a language level guarantee. The only case where that's not true is when you have OS/hardware level memory protection and that doesn't apply to any of Python's existing byte codes. So from a Python pe

[issue36839] Support the buffer protocol in code objects

2019-05-30 Thread Dino Viehland
Dino Viehland added the comment: In the Instagram case there's about 20mb of byte code total and there are 3-4 dozen worker processes running per server. The byte code also represents the second largest section of memory as far as serialized code objects are concerned, the only large

[issue36839] Support the buffer protocol in code objects

2019-05-30 Thread Dino Viehland
Dino Viehland added the comment: Well given that we're one day away from 3.8 Beta 1 I'm not going to rush this in :) In particular the discussion has made me wonder if I can also do more with sharing strings using the legacy unicode strings (which I don't believe will requ

[issue36839] Support the buffer protocol in code objects

2019-06-03 Thread Dino Viehland
Dino Viehland added the comment: The 20MB of savings is actually the amount of byte code that exists in the IG code base. I was just measuring the web site code, and not the other various Python code in the process (e.g. no std lib code, no 3rd party libraries, etc...). The IG code base

[issue30604] co_extra_freefuncs is stored thread locally and can lead to crashes

2017-06-12 Thread Dino Viehland
Changes by Dino Viehland : -- pull_requests: +2194 ___ Python tracker <http://bugs.python.org/issue30604> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue30604] co_extra_freefuncs is stored thread locally and can lead to crashes

2017-06-08 Thread Dino Viehland
New submission from Dino Viehland: The co_extra_freefuncs are stored in PyThreadState. When calling _PyEval_RequestCodeExtraIndex you are given a thread specific index. The code object can then lose it's last reference on a different thread, and the wrong free function can be call

[issue30604] co_extra_freefuncs is stored thread locally and can lead to crashes

2017-06-08 Thread Dino Viehland
Changes by Dino Viehland : -- pull_requests: +2080 ___ Python tracker <http://bugs.python.org/issue30604> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue29943] PySlice_GetIndicesEx change broke ABI in 3.5 and 3.6 branches

2017-06-08 Thread Dino Viehland
Changes by Dino Viehland : -- pull_requests: +2082 ___ Python tracker <http://bugs.python.org/issue29943> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue36839] Support the buffer protocol in code objects

2019-05-07 Thread Dino Viehland
New submission from Dino Viehland : Many Python deployments involve large code based that are used in scenarios where processes are fork-and-exec'd. When running in these environments code objects can end up occupying a lot of memory. Because the code objects are on random pages an

[issue36839] Support the buffer protocol in code objects

2019-05-07 Thread Dino Viehland
Change by Dino Viehland : -- keywords: +patch pull_requests: +13093 stage: needs patch -> patch review ___ Python tracker <https://bugs.python.org/issu

[issue36839] Support the buffer protocol in code objects

2019-05-07 Thread Dino Viehland
Change by Dino Viehland : -- nosy: +eric.snow ___ Python tracker <https://bugs.python.org/issue36839> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue15568] yield from missed StopIteration raised from iterator instead of getting value

2012-08-06 Thread Dino Viehland
New submission from Dino Viehland: When implementing an iterable object by hand, and raising StopIteration with a value, the value is not provided as the result of the yield from expression. This differs from the behavior in the "Formal Semantics" section. Here's an ex

[issue6707] dir() on __new__'d module w/o dict crashes 2.6.2

2009-08-14 Thread Dino Viehland
New submission from Dino Viehland : from types import ModuleType as M m = M.__new__(M) dir(m) In 2.5 this raises an exception about not having __dict__, 2.6.2 crashes out right. -- components: Interpreter Core messages: 91580 nosy: DinoV severity: normal status: open title: dir() on

[issue7071] distutils and IronPython compatibility

2009-10-07 Thread Dino Viehland
Changes by Dino Viehland : -- nosy: +DinoV ___ Python tracker <http://bugs.python.org/issue7071> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue7130] json uses sre_* modules which may not work on alternate implemenations

2009-10-14 Thread Dino Viehland
New submission from Dino Viehland : Currently the json module is using the sre_* modules to construct it's regular expressions instead of just using the re module directly. Because of this it's taking a dependency on what would appear to be CPython specific implementation det

[issue8825] int("0",0) throws exception

2010-05-27 Thread Dino Viehland
Dino Viehland added the comment: I've opened a bug in the IronPython bug tracker: http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=27209 -- ___ Python tracker <http://bugs.python.org/i

[issue26093] __qualname__ different when calling generator object w/ functions.partial

2016-01-12 Thread Dino Viehland
New submission from Dino Viehland: import functools def f(): def g(): yield 1 return g functools.partial(f())().__qualname__ != f()().__qualname__ The qualified name gets passed in via the interpreter loop with _PyEval_EvalCodeWithName calling PyGen_NewWithQualName. If a

[issue27127] Never have GET_ITER not followed by FOR_ITER

2016-05-26 Thread Dino Viehland
Dino Viehland added the comment: I like how this makes the loop opcodes more regular - it should make things like Pyjion (http://www.github.com/Microsoft/Pyjion) which translate bytecode into native code. We already have some code (currently commented out) checking that GET_ITER is followed

<    1   2