* allow to convert a CFG, for which stack sizes have not been
computed, to Bytecode even in the presence of mergeable
TryBegin/TryEnd
* remove spurious TryEnd leftover when going from CFG to
Bytecode
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bytecode?expand=0&rev=12
93 lines
4.8 KiB
Plaintext
93 lines
4.8 KiB
Plaintext
-------------------------------------------------------------------
|
|
Sat May 27 21:36:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.14.2:
|
|
* allow to convert a CFG, for which stack sizes have not been
|
|
computed, to Bytecode even in the presence of mergeable
|
|
TryBegin/TryEnd
|
|
* remove spurious TryEnd leftover when going from CFG to
|
|
Bytecode
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Apr 19 09:32:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
|
|
|
- update to 0.14.1:
|
|
* allow to disassemble code containing ``EXTENDED_ARG``
|
|
targeting a ``NOP`` PR #117
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Dec 15 22:44:00 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Fix dependencies
|
|
- Fix python-sitelib-glob-in-files and 0.0.0 version egg-info by
|
|
not forgetting setuptools_scm
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Dec 9 17:16:11 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
|
|
|
- Update to 0.14.0
|
|
* New features:
|
|
Removed the peephole optimizer PR #107
|
|
Basically changes in Python 3.11 made it hard to port and the maintenance cost exceeded the perceived use. It could be re-added if there is a demand for it.
|
|
Add support for Python 3.11 PR #107
|
|
Support for Python 3.11, comes with a number of changes reflecting changes in CPython bytecode itself:
|
|
support for the exception table in ConcreteBytecode
|
|
support for pseudo-instruction TryBegin and TryEnd describing the exception table in Bytecode and ControlflowGraph
|
|
new keyword arguments in conversion method related to computations required for the exception table
|
|
handling of CACHE opcode at the ConcreteBytecode level
|
|
handling of the ability of LOAD_GLOBAL to push NULL (the argument is now a tuple[bool, str])
|
|
support for end_lineno and column offsets in instructions
|
|
support for co_qualname (as qualname on bytecode objects)
|
|
and a number of internal changes related to changes in the internal bytecode representation.
|
|
Add type annotations and make types stricter PR # 105 In particular, ConcreteInstr does not inherit from Instr anymore and one cannot
|
|
use ConcreteInstr in Bytecode object. This is saner than before.
|
|
* Bugfixes:
|
|
Removed EXC_MATCH from the Compare enumeration starting with Python 3.9. The new JUMP_IF_NOT_EXC_MATCH opcode should be used instead.
|
|
Removed IN, NOT_IN, IS, NOT_IS from the Compare enumeration starting with Python 3.9. The new CONTAINS_OP and IS_OP opcodes should be used instead.
|
|
Add proper pre and post stack effects to all opcodes (up to Python 3.11) PR #106 #107
|
|
* Maintenance:
|
|
Make the install process PEP517 compliant PR #97
|
|
Drop support for Python 3.6 and 3.7 PR #100
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 18 11:47:11 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
- Update to 0.13.0
|
|
* Add support for Python 3.10 new encoding of line number. This support is
|
|
minimal in the sense that we still systematically assign a line number
|
|
while the new format allow bytecode with absolutely no line number. PR #72
|
|
* Fix handling of RERAISE (introduced in 3.9) when creating a ControlFlowGraph,
|
|
previously it was not considered final. PR #72
|
|
* Fix line table assembly in Python 3.10. PR #85
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 31 11:04:29 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
- Update to 0.12.0
|
|
* All calculations of stacksize now check for stack underflow to
|
|
avoid segfault at runtime PR #69
|
|
* Fix recursion limitations when compiling bytecode with numerous basic
|
|
blocks. PR #57
|
|
* Fix handling of line offsets. Issue #67, PR #71
|
|
* Forbid an :class:`Instr` to hold an EXTENDED_ARG op_code PR #65
|
|
* Forbid the use of :class:`ConcreteInstr` in :class:`Bytecode` and
|
|
:class:`ControlFlowGraph` PR #65
|
|
This is motivated by the extra complexity that handling possible EXTENDED_ARG
|
|
instruction in those representation would bring (stack computation, etc)
|
|
* Always remove EXTENDED_ARG when converting :class:`ConcreteBytecode` to
|
|
:class:`Bytecode` PR #65
|
|
* This is equivalent to say that the :class:`ConcreteBytecode` converted to
|
|
:class:`Bytecode` was generated by :meth:`ConcreteBytecode.from_code`
|
|
with extended_args=False
|
|
* :class:`Instr` now has a new method :meth:`Instr.pre_and_post_stack_effect`
|
|
for checking the prerequisite stack size of an operation PR #69
|
|
* :meth:`_compute_stack_size` now uses :meth:`Instr.pre_and_post_stack_effect`
|
|
to compute the stack size to reject code that will lead to runtime segfault
|
|
caused by stack underflow PR #69
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 9 11:29:55 UTC 2020 - pgajdos@suse.com
|
|
|
|
- initial version 0.11.0, required by python-enaml
|
|
|