summaryrefslogtreecommitdiffstats
path: root/Python/importlib_external.h
Commit message (Collapse)AuthorAgeFilesLines
* Issue #28517: Fixed of-by-one error in the peephole optimizer that causedSerhiy Storchaka2016-10-251-1958/+1957
| | | | keeping unreachable code.
* Issue #28257: Improved error message when pass a non-iterable asSerhiy Storchaka2016-10-021-106/+106
| | | | a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
* Issue #27942: String constants now interned recursively in tuples and ↵Serhiy Storchaka2016-09-301-1886/+1883
|\ | | | | | | frozensets.
| * Issue #27942: String constants now interned recursively in tuples and ↵Serhiy Storchaka2016-09-301-801/+800
| | | | | | | | frozensets.
| * Fix regressions introduced by fixes for issue #27083.Brett Cannon2016-07-161-2551/+2561
| |
* | Issue #27213: Fixed different issues with reworked CALL_FUNCTION* opcodes.Serhiy Storchaka2016-09-111-1902/+1902
| | | | | | | | | | | | | | | | | | | | | | * BUILD_TUPLE_UNPACK and BUILD_MAP_UNPACK_WITH_CALL no longer generated with single tuple or dict. * Restored more informative error messages for incorrect var-positional and var-keyword arguments. * Removed code duplications in _PyEval_EvalCodeWithName(). * Removed redundant runtime checks and parameters in _PyStack_AsDict(). * Added a workaround and enabled previously disabled test in test_traceback. * Removed dead code from the dis module.
* | Issue #23722: Initialize __class__ from type.__new__()Nick Coghlan2016-09-111-1242/+1243
| | | | | | | | | | | | | | | | | | The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann.
* | Issue #24320: Drop an old setuptools-induced hack.Eric Snow2016-09-091-53/+52
| |
* | Rework CALL_FUNCTION* opcodesVictor Stinner2016-09-091-1603/+1604
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #27213: Rework CALL_FUNCTION* opcodes to produce shorter and more efficient bytecode: * CALL_FUNCTION now only accepts position arguments * CALL_FUNCTION_KW accepts position arguments and keyword arguments, but keys of keyword arguments are packed into a constant tuple. * CALL_FUNCTION_EX is the most generic, it expects a tuple and a dict for positional and keyword arguments. CALL_FUNCTION_VAR and CALL_FUNCTION_VAR_KW opcodes have been removed. 2 tests of test_traceback are currently broken: skip test, the issue #28050 was created to track the issue. Patch by Demur Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and Victor Stinner.
* | Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations.Yury Selivanov2016-09-091-104/+104
| | | | | | | | Patch by Ivan Levkivskyi.
* | Issue #26667: Add path-like object support to importlib.util.Brett Cannon2016-09-081-2164/+2168
| |
* | Issue #27078: Added BUILD_STRING opcode. Optimized f-strings evaluation.Serhiy Storchaka2016-09-061-104/+104
| |
* | Check in update for importlib_external.hBrett Cannon2016-07-161-2404/+2412
| |
* | Merge for #27083Brett Cannon2016-07-151-2339/+2341
|\ \ | |/
* | Update frozen importlib codeBrett Cannon2016-07-081-597/+596
| |
* | Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.Serhiy Storchaka2016-06-121-2220/+2223
| | | | | | | | Patch by Demur Rumed.
* | Comment fixes extracted from patch by Demur Rumed.Serhiy Storchaka2016-06-121-103/+103
| |
* | Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. CallingSerhiy Storchaka2016-06-121-103/+103
|\ \ | |/ | | | | | | function with generalized unpacking (PEP 448) and conflicting keyword names could cause undefined behavior.
| * Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. CallingSerhiy Storchaka2016-06-121-104/+104
| | | | | | | | | | function with generalized unpacking (PEP 448) and conflicting keyword names could cause undefined behavior.
* | Issue #27140: Added BUILD_CONST_KEY_MAP opcode.Serhiy Storchaka2016-06-111-1155/+1155
| |
* | Issue #27138: Regenerate Python/importlib_external.h.Serhiy Storchaka2016-05-281-324/+323
|\ \ | |/
| * Issue #27138: Regenerate Python/importlib_external.h.Serhiy Storchaka2016-05-281-344/+343
| |
| * regen importlib bytecodeBenjamin Peterson2016-05-171-103/+103
| |
* | Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode.Serhiy Storchaka2016-05-241-2390/+2222
| | | | | | | | Patch by Demur Rumed.
* | Issue #27039: Fixed bytearray.remove() for values greater than 127.Serhiy Storchaka2016-05-161-103/+103
|\ \ | |/ | | | | Based on patch by Joe Jevnik.
| * Issue #25280: Import trace messages emitted in verbose (-v) mode are noSerhiy Storchaka2015-10-011-56/+57
| | | | | | | | longer formatted twice.
* | regrtest: Fix module.__path__Victor Stinner2016-03-151-931/+940
| | | | | | | | | | | | | | Issue #26538: libregrtest: Fix setup_tests() to keep module.__path__ type (_NamespacePath), don't convert to a list. Add _NamespacePath.__setitem__() method to importlib._bootstrap_external.
* | Issue #25985: sys.version_info is now used instead of sys.versionSerhiy Storchaka2016-02-111-15/+16
| | | | | | | | to format short Python version.
* | co_lnotab supports negative line number deltaVictor Stinner2016-01-201-105/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #26107: The format of the co_lnotab attribute of code objects changes to support negative line number delta. Changes: * assemble_lnotab(): if line number delta is less than -128 or greater than 127, emit multiple (offset_delta, lineno_delta) in co_lnotab * update functions decoding co_lnotab to use signed 8-bit integers - dis.findlinestarts() - PyCode_Addr2Line() - _PyCode_CheckLineNumber() - frame_setlineno() * update lnotab_notes.txt * increase importlib MAGIC_NUMBER to 3361 * document the change in What's New in Python 3.6 * cleanup also PyCode_Optimize() to use better variable names
* | Issue #25802: Deprecate load_module() on ↵Brett Cannon2015-12-291-1516/+1517
| | | | | | | | | | | | | | importlib.machinery.SourceFileLoader and SourcelessFileLoader. They were the only remaining implementations of load_module() not documented as deprecated.
* | Issue 25483: Add an opcode to make f-string formatting more robust.Eric V. Smith2015-11-031-103/+103
| |
* | Update importlib_external.hVictor Stinner2015-10-011-56/+57
| |
* | Issue #25186: Remove duplicated function from importlib._bootstrap_externalBrett Cannon2015-09-251-2497/+2480
|/
* compute stack effect of BUILD_MAP correctly (closes #25060)Benjamin Peterson2015-09-111-1/+1
|
* Issue #24400: Introduce a distinct type for 'async def' coroutines.Yury Selivanov2015-06-221-104/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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")
* in dict displays, evaluate the key before the value (closes #11205)Benjamin Peterson2015-05-281-108/+108
| | | | Patch partially by Steve Dougherty.
* PEP 489: Multi-phase extension module initializationNick Coghlan2015-05-231-1921/+1927
| | | | | | | | | | | | | | | | | | | | | | | Known limitations of the current implementation: - documentation changes are incomplete - there's a reference leak I haven't tracked down yet The leak is most visible by running: ./python -m test -R3:3 test_importlib However, you can also see it by running: ./python -X showrefcount Importing the array or _testmultiphase modules, and then deleting them from both sys.modules and the local namespace shows significant increases in the total number of active references each cycle. By contrast, with _testcapi (which continues to use single-phase initialisation) the global refcounts stabilise after a couple of cycles.
* Issue #24192: Fix namespace package imports.Eric Snow2015-05-161-2583/+2540
|
* PEP 0492 -- Coroutines with async and await syntax. Issue #24017.Yury Selivanov2015-05-121-2380/+2381
|
* PEP 448: additional unpacking generalizations (closes #2292)Benjamin Peterson2015-05-061-1500/+1499
| | | | Patch by Neil Girdhar.
* Issue #23911: Move path-based bootstrap code to a separate frozen module.Eric Snow2015-05-031-0/+2633