- 29 May, 2016 1 kayıt (commit)
-
-
Martin Panter yazdı
-
- 17 Nis, 2016 1 kayıt (commit)
-
-
Serhiy Storchaka yazdı
Based on patch by Xiang Zhang.
-
- 05 Ock, 2016 1 kayıt (commit)
-
-
Serhiy Storchaka yazdı
-
- 25 Ara, 2015 1 kayıt (commit)
-
-
Serhiy Storchaka yazdı
-
- 14 Eki, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
Don't add parenthesis to type names. Add also quotes around the type names. Before: TypeError: unorderable types: int() < NoneType() After: TypeError: '<' not supported between instances of 'int' and 'NoneType'
-
- 07 Eki, 2015 1 kayıt (commit)
-
-
Martin Panter yazdı
-
- 22 Haz, 2015 1 kayıt (commit)
-
-
Yury Selivanov yazdı
Summary of changes: 1. Coroutines now have a distinct, separate from generators type at the C level: PyGen_Type, and a new typedef PyCoroObject. PyCoroObject shares the initial segment of struct layout with PyGenObject, making it possible to reuse existing generators machinery. The new type is exposed as 'types.CoroutineType'. As a consequence of having a new type, CO_GENERATOR flag is no longer applied to coroutines. 2. Having a separate type for coroutines made it possible to add an __await__ method to the type. Although it is not used by the interpreter (see details on that below), it makes coroutines naturally (without using __instancecheck__) conform to collections.abc.Coroutine and collections.abc.Awaitable ABCs. [The __instancecheck__ is still used for generator-based coroutines, as we don't want to add __await__ for generators.] 3. Add new opcode: GET_YIELD_FROM_ITER. The opcode is needed to allow passing native coroutines to the YIELD_FROM opcode. Before this change, 'yield from o' expression was compiled to: (o) GET_ITER LOAD_CONST YIELD_FROM Now, we use GET_YIELD_FROM_ITER instead of GET_ITER. The reason for adding a new opcode is that GET_ITER is used in some contexts (such as 'for .. in' loops) where passing a coroutine object is invalid. 4. Add two new introspection functions to the inspec module: getcoroutinestate(c) and getcoroutinelocals(c). 5. inspect.iscoroutine(o) is updated to test if 'o' is a native coroutine object. Before this commit it used abc.Coroutine, and it was requested to update inspect.isgenerator(o) to use abc.Generator; it was decided, however, that inspect functions should really be tailored for checking for native types. 6. sys.set_coroutine_wrapper(w) API is updated to work with only native coroutines. Since types.coroutine decorator supports any type of callables now, it would be confusing that it does not work for all types of coroutines. 7. Exceptions logic in generators C implementation was updated to raise clearer messages for coroutines: Before: TypeError("generator raised StopIteration") After: TypeError("coroutine raised StopIteration")
-
- 30 May, 2015 2 kayıt (commit)
- 02 Mar, 2015 1 kayıt (commit)
-
-
Larry Hastings yazdı
-
- 20 Kas, 2014 1 kayıt (commit)
-
-
Nick Coghlan yazdı
- interpreter startup and shutdown code moved to a new pylifecycle.c module - Py_OptimizeFlag moved into the new module with the other global flags
-
- 02 Haz, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
object (PyBaseObject_Type) is the base type of type (PyType_Type), int (PyLong_Type) is the base type of bool (PyBool_Type).
-
- 31 Mar, 2014 1 kayıt (commit)
-
-
Antoine Pitrou yazdı
-
- 09 Şub, 2014 1 kayıt (commit)
-
-
Nick Coghlan yazdı
-
- 01 Ara, 2013 2 kayıt (commit)
-
-
Alexandre Vassalotti yazdı
-
Alexandre Vassalotti yazdı
-
- 24 Kas, 2013 1 kayıt (commit)
-
-
Alexandre Vassalotti yazdı
-
- 20 Kas, 2013 1 kayıt (commit)
-
-
Christian Heimes yazdı
Python now uses SipHash24 on all major platforms.
-
- 07 Kas, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
are used. Move also _Py_IDENTIFIER() defintions to the top in modified files to remove identifiers duplicated in the same file.
-
- 06 Kas, 2013 2 kayıt (commit)
-
-
Victor Stinner yazdı
-
Victor Stinner yazdı
"Py_Repr" dictionary key
-
- 29 Eki, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
exceptions when merging fast locals into f_locals of a frame. PyEval_GetLocals() now raises an exception and return NULL on failure.
-
- 08 Eyl, 2013 1 kayıt (commit)
-
-
Raymond Hettinger yazdı
The setobject freelist was consuming memory but not providing much value. Even when a freelisted setobject was available, most of the setobject fields still needed to be initialized and the small table still required a memset(). This meant that the custom freelisting scheme for sets was providing almost no incremental benefit over the default Python freelist scheme used by _PyObject_Malloc() in Objects/obmalloc.c.
-
- 26 Agu, 2013 2 kayıt (commit)
-
-
Victor Stinner yazdı
"Issue #18408: PyObject_Str(), PyObject_Repr() and type_call() now fail with an assertion error if they are called with an exception set (PyErr_Occurred()). As PyEval_EvalFrameEx(), they may clear the current exception and so the caller looses its exception."
-
Victor Stinner yazdı
So it can be called even if an exception was raised
-
- 24 Agu, 2013 1 kayıt (commit)
-
-
Antoine Pitrou yazdı
-
- 23 Agu, 2013 1 kayıt (commit)
-
-
Antoine Pitrou yazdı
-
- 13 Agu, 2013 1 kayıt (commit)
-
-
Antoine Pitrou yazdı
-
- 30 Tem, 2013 1 kayıt (commit)
-
-
Antoine Pitrou yazdı
-
- 17 Tem, 2013 2 kayıt (commit)
-
-
Victor Stinner yazdı
assertion error if they are called with an exception set (PyErr_Occurred()). As PyEval_EvalFrameEx(), they may clear the current exception and so the caller looses its exception.
-
Victor Stinner yazdı
-
- 16 Tem, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
and ignores exceptions raised during the call
-
- 07 Tem, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
Add new enum: * PyMemAllocatorDomain Add new structures: * PyMemAllocator * PyObjectArenaAllocator Add new functions: * PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree() * PyMem_GetAllocator(), PyMem_SetAllocator() * PyObject_GetArenaAllocator(), PyObject_SetArenaAllocator() * PyMem_SetupDebugHooks() Changes: * PyMem_Malloc()/PyObject_Realloc() now always call malloc()/realloc(), instead of calling PyObject_Malloc()/PyObject_Realloc() in debug mode. * PyObject_Malloc()/PyObject_Realloc() now falls back to PyMem_Malloc()/PyMem_Realloc() for allocations larger than 512 bytes. * Redesign debug checks on memory block allocators as hooks, instead of using C macros
-
- 15 Haz, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
The new API require more discussion.
-
- 14 Haz, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
* Add a new PyMemAllocators structure * New functions: - PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree(): GIL-free memory allocator functions - PyMem_GetRawAllocators(), PyMem_SetRawAllocators() - PyMem_GetAllocators(), PyMem_SetAllocators() - PyMem_SetupDebugHooks() - _PyObject_GetArenaAllocators(), _PyObject_SetArenaAllocators() * Add unit test for PyMem_Malloc(0) and PyObject_Malloc(0) * Add unit test for new get/set allocators functions * PyObject_Malloc() now falls back on PyMem_Malloc() instead of malloc() if size is bigger than SMALL_REQUEST_THRESHOLD, and PyObject_Realloc() falls back on PyMem_Realloc() instead of realloc() * PyMem_Malloc() and PyMem_Realloc() now always call malloc() and realloc(), instead of calling PyObject_Malloc() and PyObject_Realloc() in debug mode
-
- 14 Nis, 2013 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 02 Ock, 2013 1 kayıt (commit)
-
-
Benjamin Peterson yazdı
-
- 31 Eki, 2012 3 kayıt (commit)
-
-
Benjamin Peterson yazdı
-
Benjamin Peterson yazdı
-
Benjamin Peterson yazdı
-