summaryrefslogtreecommitdiff
path: root/Python/ceval.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * Issue #22557: Now importing already imported modules is up to 2.5 times faster.Serhiy Storchaka2016-08-021-28/+51
| |
| * Issue #16191: Merge comment fixes from 3.5Martin Panter2016-07-181-207/+241
| |\
| | * Issue #27352: Correct the validation of the ImportFrom AST node and simplifySerhiy Storchaka2016-06-271-9/+1
| | | | | | | | | | | | the implementation of the IMPORT_NAME opcode.
| | * Issue #27255: Added more predictions in ceval.c.Serhiy Storchaka2016-06-271-2/+12
| | |
| | * Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.Serhiy Storchaka2016-06-121-102/+22
| | | | | | | | | | | | Patch by Demur Rumed.
| | * Issue #27140: Added BUILD_CONST_KEY_MAP opcode.Serhiy Storchaka2016-06-121-0/+33
| | |
| | * Merge 3.5 (issue #27243)Yury Selivanov2016-06-091-96/+175
| | |\
| | | * Fixed the use of _Py_IS_ALIGNED (issue #27097).Serhiy Storchaka2016-05-251-1/+1
| | | |
| | | * Issue #27097: Python interpreter is now about 7% faster due to optimizedSerhiy Storchaka2016-05-251-29/+45
| | | | | | | | | | | | | | | | instruction decoding. Based on patch by Demur Rumed.
| | | * Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode.Serhiy Storchaka2016-05-241-74/+57
| | | | | | | | | | | | | | | | Patch by Demur Rumed.
| | | * merge 3.5 (#26991)Benjamin Peterson2016-05-161-7/+87
| | | |\
| | | | * Issue #18531: Single var-keyword argument of dict subtype was passedSerhiy Storchaka2016-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | unscathed to the C-defined function. Now it is converted to exact dict.
| | | | * Issue #26802: Optimized calling a function with *args only positional arguments.Serhiy Storchaka2016-04-191-0/+15
| | | | | | | | | | | | | | | | | | | | Patch by Joe Jevnik.
| | | | * Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREFSerhiy Storchaka2016-04-101-2/+2
| | | | |\ | | | | | | | | | | | | | | | | | | in places where Py_DECREF was used.
| | | | * \ Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-6/+71
| | | | |\ \
| | | | | * \ Merge 3.5 (issue #25888)Yury Selivanov2016-03-021-6/+71
| | | | | |\ \
| | | | | | * | Switch to more idiomatic C code.Eric V. Smith2016-02-051-3/+4
| | | | | | | |
| | | | | | * | Fix issue 26287: While handling FORMAT_VALUE opcode, the top of stack was ↵Eric V. Smith2016-02-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | being corrupted if an error occurred in PyObject_Format().
| | | | | | * | Issue #4806: Merge * unpacking fix from 3.5Martin Panter2016-01-311-8/+10
| | | | | | |\ \
| | | | | | * \ \ Issue #20440: Applied yet one patch for using Py_SETREF.Serhiy Storchaka2015-12-271-3/+1
| | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR.
| | | | | | * | | | Issue #25923: Added more const qualifiers to signatures of static and ↵Serhiy Storchaka2015-12-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | private functions.
| | | | | | * | | | Issue #20440: Massive replacing unsafe attribute setting code with specialSerhiy Storchaka2015-12-241-4/+68
| | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macro Py_SETREF.
| | | | | | | * | | | Issue #25557: Refactor _PyDict_LoadGlobal()Victor Stinner2015-11-201-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't fallback to PyDict_GetItemWithError() if the hash is unknown: compute the hash instead. Add also comments to explain the optimization a little bit.
| | | | | | | * | | | Issue #25556: Add assertions to PyObject_GetItem() to ensure that an exceptionVictor Stinner2015-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is raised when it returns NULL. Simplify also ceval.c: rely on the fact that PyObject_GetItem() raised an exception when it returns NULL.
| | | | | | | * | | | Merge 3.5Victor Stinner2015-11-051-0/+4
| | | | | | | |\ \ \ \
| | | | | | | * | | | | Issue 25483: Add an opcode to make f-string formatting more robust.Eric V. Smith2015-11-031-0/+57
| | | | | | | | | | | |
* | | | | | | | | | | | Fix SystemError in "raise" statementVictor Stinner2016-08-181-1/+1
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #27558: Fix a SystemError in the implementation of "raise" statement. In a brand new thread, raise a RuntimeError since there is no active exception to reraise. Patch written by Xiang Zhang.
* | | | | | | | | | | Issue #16191: Fix up references to renamed variablesMartin Panter2016-07-181-6/+6
|/ / / / / / / / / /
* | | | | | | | | | Issue #27243: Fix __aiter__ protocolYury Selivanov2016-06-091-2/+38
|/ / / / / / / / /
* | | | | | | | | fix possible refleak in MAKE_FUNCTION (closes #26991)Benjamin Peterson2016-05-161-1/+3
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Patch by Xiang Zhang.
* | | | | | | | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREFSerhiy Storchaka2016-04-101-2/+2
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | in places where Py_DECREF was used.
* | | | | | | Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-3/+3
|/ / / / / /
* | | | | | coroutines: Error when awaiting on coroutine that's being awaitedYury Selivanov2016-03-021-0/+15
| |_|_|_|/ |/| | | | | | | | | | | | | | Issue #25888
* | | | | Issue #4806: Avoid masking original TypeError in call with * unpackingMartin Panter2016-01-311-8/+10
| |_|_|/ |/| | | | | | | | | | | Based on patch by Hagen F?rstenau and Daniel Urban.
* | | | Issue #20440: Applied yet one patch for using Py_SETREF.Serhiy Storchaka2015-12-271-3/+1
|/ / / | | | | | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR.
* | | Issue #20440: Massive replacing unsafe attribute setting code with specialSerhiy Storchaka2015-12-241-4/+2
| |/ |/| | | | | macro Py_SETREF.
* | Issue #25556: Fix LOAD_GLOBAL bytecode when globals type is not dict and theVictor Stinner2015-11-051-0/+4
|/ | | | | | requested name doesn't exist in globals: clear the KeyError exception before calling PyObject_GetItem(). Fail also if the raised exception is not a KeyError.
* Merge typo fixes from 3.4 into 3.5Martin Panter2015-10-071-1/+1
|\
| * Various minor typos in documentation and commentsMartin Panter2015-10-071-2/+2
| |
* | Issue #24492: make sure that ``from ... import ...` raises anBrett Cannon2015-08-111-7/+12
| | | | | | | | | | | | ImportError if __name__ is not defined on a package. Thanks to Armin Rigo for the bug report and diagnosing the cause.
* | set items in dict displays from left to right (closes #24569)Benjamin Peterson2015-07-051-6/+9
| |
* | Issue #19235: Add new RecursionError exception. Patch by Georg Brandl.Yury Selivanov2015-07-031-1/+1
| |
* | Issue #24400: Introduce a distinct type for 'async def' coroutines.Yury Selivanov2015-06-221-40/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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")
* | Added the const qualifier for char* argument of Py_EnterRecursiveCall().Serhiy Storchaka2015-06-211-1/+1
|\ \ | |/
| * Added the const qualifier for char* argument of Py_EnterRecursiveCall().Serhiy Storchaka2015-06-211-1/+1
| |
* | Issue 24374: Plug refleak in set_coroutine_wrapperYury Selivanov2015-06-041-31/+19
| |
* | Issue 24342: No need to use PyAPI_FUNC for _PyEval_ApplyCoroutineWrapperYury Selivanov2015-06-021-28/+30
| |
* | Issue 24342: Let wrapper set by sys.set_coroutine_wrapper fail gracefullyYury Selivanov2015-06-021-9/+30
| |
* | Issue 24017: Make PyEval_(Set|Get)CoroutineWrapper privateYury Selivanov2015-06-011-3/+3
| |
* | remove STORE_MAP, since it's unusedBenjamin Peterson2015-05-281-15/+0
| |