Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Optimize call to Python function without argument | Victor Stinner | 2016-08-22 | 1 | -11/+31 | |
| | | | | | | | | | | | | Issue #27128. When a Python function is called with no arguments, but all parameters have a default value: use default values as arguments for the fast path. | |||||
* | | import_name() now uses fast call | Victor Stinner | 2016-08-20 | 1 | -13/+9 | |
| | | | | | | | | | | Issue #27128: import_name() now calls _PyObject_FastCall() to avoid the creation of a temporary tuple. | |||||
* | | Fix PyObject_Call() parameter names | Victor Stinner | 2016-08-19 | 1 | -12/+13 | |
| | | | | | | | | | | | | Issue #27128: arg=>args, kw=>kwargs. Same change for PyEval_CallObjectWithKeywords(). | |||||
* | | PyEval_CallObjectWithKeywords() uses fast call | Victor Stinner | 2016-08-19 | 1 | -0/+4 | |
| | | | | | | | | | | | | Issue #27128: Modify PyEval_CallObjectWithKeywords() to use _PyObject_FastCall() when args==NULL and kw==NULL. It avoids the creation of a temporary empty tuple for positional arguments. | |||||
* | | Add _PyObject_FastCall() | Victor Stinner | 2016-08-19 | 1 | -46/+113 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #27128: Add _PyObject_FastCall(), a new calling convention avoiding a temporary tuple to pass positional parameters in most cases, but create a temporary tuple if needed (ex: for the tp_call slot). The API is prepared to support keyword parameters, but the full implementation will come later (_PyFunction_FastCall() doesn't support keyword parameters yet). Add also: * _PyStack_AsTuple() helper function: convert a "stack" of parameters to a tuple. * _PyCFunction_FastCall(): fast call implementation for C functions * _PyFunction_FastCall(): fast call implementation for Python functions | |||||
* | | Merge 3.5 (fix raise) | Victor Stinner | 2016-08-18 | 1 | -1/+1 | |
|\ \ | |/ | ||||||
| * | Fix SystemError in "raise" statement | Victor Stinner | 2016-08-18 | 1 | -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. | |||||
* | | Use Py_ssize_t in _PyEval_EvalCodeWithName() | Victor Stinner | 2016-08-16 | 1 | -8/+10 | |
| | | | | | | | | | | | | | | | | Issue #27128, #18295: replace int type with Py_ssize_t for index variables used for positional arguments. It should help to avoid integer overflow and help to emit better machine code for "i++" (no trap needed for overflow). Make also the total_args variable constant. | |||||
* | | Issue #27128: Cleanup _PyEval_EvalCodeWithName() | Victor Stinner | 2016-08-16 | 1 | -11/+43 | |
| | | | | | | | | | | | | | | | | * Add comments * Add empty lines for readability * PEP 7 style for if block * Remove useless assert(globals != NULL); (globals is tested a few lines before) | |||||
* | | Issue #22557: Now importing already imported modules is up to 2.5 times faster. | Serhiy Storchaka | 2016-08-02 | 1 | -28/+51 | |
| | | ||||||
* | | Issue #16191: Merge comment fixes from 3.5 | Martin Panter | 2016-07-18 | 1 | -6/+6 | |
|\ \ | |/ | ||||||
| * | Issue #16191: Fix up references to renamed variables | Martin Panter | 2016-07-18 | 1 | -6/+6 | |
| | | ||||||
* | | Issue #27352: Correct the validation of the ImportFrom AST node and simplify | Serhiy Storchaka | 2016-06-27 | 1 | -9/+1 | |
| | | | | | | | | the implementation of the IMPORT_NAME opcode. | |||||
* | | Issue #27255: Added more predictions in ceval.c. | Serhiy Storchaka | 2016-06-27 | 1 | -2/+12 | |
| | | ||||||
* | | Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. | Serhiy Storchaka | 2016-06-12 | 1 | -102/+22 | |
| | | | | | | | | Patch by Demur Rumed. | |||||
* | | Issue #27140: Added BUILD_CONST_KEY_MAP opcode. | Serhiy Storchaka | 2016-06-12 | 1 | -0/+33 | |
| | | ||||||
* | | Merge 3.5 (issue #27243) | Yury Selivanov | 2016-06-09 | 1 | -2/+38 | |
|\ \ | |/ | ||||||
| * | Issue #27243: Fix __aiter__ protocol | Yury Selivanov | 2016-06-09 | 1 | -2/+38 | |
| | | ||||||
* | | Fixed the use of _Py_IS_ALIGNED (issue #27097). | Serhiy Storchaka | 2016-05-25 | 1 | -1/+1 | |
| | | ||||||
* | | Issue #27097: Python interpreter is now about 7% faster due to optimized | Serhiy Storchaka | 2016-05-25 | 1 | -29/+45 | |
| | | | | | | | | instruction decoding. Based on patch by Demur Rumed. | |||||
* | | Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode. | Serhiy Storchaka | 2016-05-24 | 1 | -74/+57 | |
| | | | | | | | | Patch by Demur Rumed. | |||||
* | | merge 3.5 (#26991) | Benjamin Peterson | 2016-05-16 | 1 | -1/+3 | |
|\ \ | |/ | ||||||
| * | fix possible refleak in MAKE_FUNCTION (closes #26991) | Benjamin Peterson | 2016-05-16 | 1 | -1/+3 | |
| | | | | | | | | Patch by Xiang Zhang. | |||||
* | | Issue #18531: Single var-keyword argument of dict subtype was passed | Serhiy Storchaka | 2016-05-08 | 1 | -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 Storchaka | 2016-04-19 | 1 | -0/+15 | |
| | | | | | | | | Patch by Joe Jevnik. | |||||
* | | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF | Serhiy Storchaka | 2016-04-10 | 1 | -2/+2 | |
|\ \ | |/ | | | | | in places where Py_DECREF was used. | |||||
| * | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF | Serhiy Storchaka | 2016-04-10 | 1 | -2/+2 | |
| | | | | | | | | in places where Py_DECREF was used. | |||||
* | | Issue #22570: Renamed Py_SETREF to Py_XSETREF. | Serhiy Storchaka | 2016-04-06 | 1 | -3/+3 | |
|\ \ | |/ | ||||||
| * | Issue #22570: Renamed Py_SETREF to Py_XSETREF. | Serhiy Storchaka | 2016-04-06 | 1 | -3/+3 | |
| | | ||||||
* | | Merge 3.5 (issue #25888) | Yury Selivanov | 2016-03-02 | 1 | -0/+15 | |
|\ \ | |/ | ||||||
| * | coroutines: Error when awaiting on coroutine that's being awaited | Yury Selivanov | 2016-03-02 | 1 | -0/+15 | |
| | | | | | | | | Issue #25888 | |||||
* | | Switch to more idiomatic C code. | Eric V. Smith | 2016-02-05 | 1 | -3/+4 | |
| | | ||||||
* | | Fix issue 26287: While handling FORMAT_VALUE opcode, the top of stack was ↵ | Eric V. Smith | 2016-02-05 | 1 | -2/+2 | |
| | | | | | | | | being corrupted if an error occurred in PyObject_Format(). | |||||
* | | Issue #4806: Merge * unpacking fix from 3.5 | Martin Panter | 2016-01-31 | 1 | -8/+10 | |
|\ \ | |/ | ||||||
| * | Issue #4806: Avoid masking original TypeError in call with * unpacking | Martin Panter | 2016-01-31 | 1 | -8/+10 | |
| | | | | | | | | Based on patch by Hagen Fürstenau and Daniel Urban. | |||||
* | | Issue #20440: Applied yet one patch for using Py_SETREF. | Serhiy Storchaka | 2015-12-27 | 1 | -3/+1 | |
|\ \ | |/ | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR. | |||||
| * | Issue #20440: Applied yet one patch for using Py_SETREF. | Serhiy Storchaka | 2015-12-27 | 1 | -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 Storchaka | 2015-12-25 | 1 | -2/+2 | |
| | | | | | | | | private functions. | |||||
* | | Issue #20440: Massive replacing unsafe attribute setting code with special | Serhiy Storchaka | 2015-12-24 | 1 | -4/+2 | |
|\ \ | |/ | | | | | macro Py_SETREF. | |||||
| * | Issue #20440: Massive replacing unsafe attribute setting code with special | Serhiy Storchaka | 2015-12-24 | 1 | -4/+2 | |
| | | | | | | | | macro Py_SETREF. | |||||
* | | Issue #25557: Refactor _PyDict_LoadGlobal() | Victor Stinner | 2015-11-20 | 1 | -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 exception | Victor Stinner | 2015-11-05 | 1 | -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.5 | Victor Stinner | 2015-11-05 | 1 | -0/+4 | |
|\ \ | |/ | ||||||
| * | Issue #25556: Fix LOAD_GLOBAL bytecode when globals type is not dict and the | Victor Stinner | 2015-11-05 | 1 | -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. | |||||
* | | Issue 25483: Add an opcode to make f-string formatting more robust. | Eric V. Smith | 2015-11-03 | 1 | -0/+57 | |
|/ | ||||||
* | Merge typo fixes from 3.4 into 3.5 | Martin Panter | 2015-10-07 | 1 | -1/+1 | |
|\ | ||||||
| * | Various minor typos in documentation and comments | Martin Panter | 2015-10-07 | 1 | -2/+2 | |
| | | ||||||
* | | Issue #24492: make sure that ``from ... import ...` raises an | Brett Cannon | 2015-08-11 | 1 | -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 Peterson | 2015-07-05 | 1 | -6/+9 | |
| | | ||||||
* | | Issue #19235: Add new RecursionError exception. Patch by Georg Brandl. | Yury Selivanov | 2015-07-03 | 1 | -1/+1 | |
| | |