<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/</link>
    <language>en-us</language>

    <title>cpython-lru_cache-weakref: Lib/opcode.py history</title>
    <description>Lib/opcode.py revision history</description>
    <item>
    <title>Issue #19722: Added opcode.stack_effect(), which accurately</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/5fe72b9ed48e/Lib/opcode.py</link>
    <description><![CDATA[Issue #19722: Added opcode.stack_effect(), which accurately<br/>
computes the stack effect of bytecode instructions.]]></description>
    <author>&#76;&#97;&#114;&#114;&#121;&#32;&#72;&#97;&#115;&#116;&#105;&#110;&#103;&#115;&#32;&#60;&#108;&#97;&#114;&#114;&#121;&#64;&#104;&#97;&#115;&#116;&#105;&#110;&#103;&#115;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sat, 23 Nov 2013 14:49:22 -0800</pubDate>
</item>
<item>
    <title>rather than passing locals to the class body, just execute the class body in the proper environment</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6db3741e59be/Lib/opcode.py</link>
    <description><![CDATA[rather than passing locals to the class body, just execute the class body in the proper environment]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Thu, 16 May 2013 14:37:25 -0500</pubDate>
</item>
<item>
    <title>check local class namespace before reaching for cells (closes #17853)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/cf65c7a75f55/Lib/opcode.py</link>
    <description><![CDATA[check local class namespace before reaching for cells (closes #17853)]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 30 Apr 2013 09:41:40 -0400</pubDate>
</item>
<item>
    <title>Issue #11823: disassembly now shows argument counts on calls with keyword args</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/22dc0a433b0e/Lib/opcode.py</link>
    <description><![CDATA[Issue #11823: disassembly now shows argument counts on calls with keyword args]]></description>
    <author>&#65;&#108;&#101;&#120;&#97;&#110;&#100;&#101;&#114;&#32;&#66;&#101;&#108;&#111;&#112;&#111;&#108;&#115;&#107;&#121;&#32;&#60;&#97;&#108;&#101;&#120;&#97;&#110;&#100;&#101;&#114;&#46;&#98;&#101;&#108;&#111;&#112;&#111;&#108;&#115;&#107;&#121;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 07 Jun 2012 14:28:14 -0400</pubDate>
</item>
<item>
    <title>Implement PEP 380 - 'yield from' (closes #11682)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d64ac9ab4cd0/Lib/opcode.py</link>
    <description><![CDATA[Implement PEP 380 - 'yield from' (closes #11682)]]></description>
    <author>&#78;&#105;&#99;&#107;&#32;&#67;&#111;&#103;&#104;&#108;&#97;&#110;&#32;&#60;&#110;&#99;&#111;&#103;&#104;&#108;&#97;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 13 Jan 2012 21:43:40 +1000</pubDate>
</item>
<item>
    <title>excise the remains of STOP_CODE, which hasn't done anything useful for years</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d30b54ffd5e8/Lib/opcode.py</link>
    <description><![CDATA[excise the remains of STOP_CODE, which hasn't done anything useful for years]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 17 Jul 2011 22:49:50 -0500</pubDate>
</item>
<item>
    <title>#4617: Previously it was illegal to delete a name from the local</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/25cc226dc9bd/Lib/opcode.py</link>
    <description><![CDATA[#4617: Previously it was illegal to delete a name from the local<br/>
namespace if it occurs as a free variable in a nested block.  This limitation<br/>
of the compiler has been lifted, and a new opcode introduced (DELETE_DEREF).<br/>
<br/>
This sample was valid in 2.6, but fails to compile in 3.x without this change::<br/>
<br/>
   &gt;&gt;&gt; def f():<br/>
   ...     def print_error():<br/>
   ...        print(e)<br/>
   ...     try:<br/>
   ...        something<br/>
   ...     except Exception as e:<br/>
   ...        print_error()<br/>
   ...        # implicit &quot;del e&quot; here<br/>
<br/>
<br/>
This sample has always been invalid in Python, and now works::<br/>
<br/>
   &gt;&gt;&gt; def outer(x):<br/>
   ...     def inner():<br/>
   ...        return x<br/>
   ...     inner()<br/>
   ...     del x<br/>
<br/>
There is no need to bump the PYC magic number: the new opcode is used<br/>
for code that did not compile before.]]></description>
    <author>&#65;&#109;&#97;&#117;&#114;&#121;&#32;&#70;&#111;&#114;&#103;&#101;&#111;&#116;&#32;&#100;&#39;&#65;&#114;&#99;&#32;&#60;&#97;&#109;&#97;&#117;&#114;&#121;&#102;&#97;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 10 Sep 2010 21:39:53 +0000</pubDate>
</item>
<item>
    <title>Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/725231211273/Lib/opcode.py</link>
    <description><![CDATA[Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced<br/>
by the new (and simpler) DUP_TOP_TWO.  Performance isn't changed, but<br/>
our bytecode is a bit simplified.  Patch by Demur Rumed.]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Sat, 04 Sep 2010 18:43:52 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 72912,72920,72940 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/3aaf2e065db0/Lib/opcode.py</link>
    <description><![CDATA[Merged revisions 72912,72920,72940 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
........<br/>
  r72912 | benjamin.peterson | 2009-05-25 08:13:44 -0500 (Mon, 25 May 2009) | 5 lines<br/>
<br/>
  add a SETUP_WITH opcode<br/>
<br/>
  It speeds up the with statement and correctly looks up the special<br/>
  methods involved.<br/>
........<br/>
  r72920 | benjamin.peterson | 2009-05-25 15:12:57 -0500 (Mon, 25 May 2009) | 1 line<br/>
<br/>
  take into account the fact that SETUP_WITH pushes a finally block<br/>
........<br/>
  r72940 | benjamin.peterson | 2009-05-26 07:49:59 -0500 (Tue, 26 May 2009) | 1 line<br/>
<br/>
  teach the peepholer about SETUP_WITH<br/>
........]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 28 Jun 2009 03:18:59 +0000</pubDate>
</item>
<item>
    <title>http://bugs.python.org/issue4715</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/643d8d4fc8eb/Lib/opcode.py</link>
    <description><![CDATA[http://bugs.python.org/issue4715<br/>
<br/>
This patch by Antoine Pitrou optimizes the bytecode for conditional branches by<br/>
merging the following &quot;POP_TOP&quot; instruction into the conditional jump.  For<br/>
example, the list comprehension &quot;[x for x in l if not x]&quot; produced the<br/>
following bytecode:<br/>
<br/>
  1           0 BUILD_LIST               0<br/>
              3 LOAD_FAST                0 (.0)<br/>
        &gt;&gt;    6 FOR_ITER                23 (to 32)<br/>
              9 STORE_FAST               1 (x)<br/>
             12 LOAD_FAST                1 (x)<br/>
             15 JUMP_IF_TRUE            10 (to 28)<br/>
             18 POP_TOP<br/>
             19 LOAD_FAST                1 (x)<br/>
             22 LIST_APPEND              2<br/>
             25 JUMP_ABSOLUTE            6<br/>
        &gt;&gt;   28 POP_TOP<br/>
             29 JUMP_ABSOLUTE            6<br/>
        &gt;&gt;   32 RETURN_VALUE<br/>
<br/>
but after the patch it produces the following bytecode:<br/>
<br/>
  1           0 BUILD_LIST               0<br/>
              3 LOAD_FAST                0 (.0)<br/>
        &gt;&gt;    6 FOR_ITER                18 (to 27)<br/>
              9 STORE_FAST               1 (x)<br/>
             12 LOAD_FAST                1 (x)<br/>
             15 POP_JUMP_IF_TRUE         6<br/>
             18 LOAD_FAST                1 (x)<br/>
             21 LIST_APPEND              2<br/>
             24 JUMP_ABSOLUTE            6<br/>
        &gt;&gt;   27 RETURN_VALUE<br/>
<br/>
Notice that not only the code is shorter, but the conditional jump<br/>
(POP_JUMP_IF_TRUE) jumps right to the start of the loop instead of going through<br/>
the JUMP_ABSOLUTE at the end. &quot;continue&quot; statements are helped<br/>
similarly.<br/>
<br/>
Furthermore, the old jump opcodes (JUMP_IF_FALSE, JUMP_IF_TRUE) have been<br/>
replaced by two new opcodes:<br/>
- JUMP_IF_TRUE_OR_POP, which jumps if true and pops otherwise<br/>
- JUMP_IF_FALSE_OR_POP, which jumps if false and pops otherwise]]></description>
    <author>&#74;&#101;&#102;&#102;&#114;&#101;&#121;&#32;&#89;&#97;&#115;&#115;&#107;&#105;&#110;&#32;&#60;&#106;&#121;&#97;&#115;&#115;&#107;&#105;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 25 Feb 2009 02:25:04 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 67818 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/2ee4653927f7/Lib/opcode.py</link>
    <description><![CDATA[Merged revisions 67818 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
........<br/>
  r67818 | antoine.pitrou | 2008-12-17 01:38:28 +0100 (mer., 17 déc. 2008) | 3 lines<br/>
<br/>
  Issue #2183: Simplify and optimize bytecode for list comprehensions.<br/>
........]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Thu, 18 Dec 2008 11:06:25 +0000</pubDate>
</item>
<item>
    <title>Remove MAKE_BYTES which is a leftover from the mutable byte literal time.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/60535250a62c/Lib/opcode.py</link>
    <description><![CDATA[Remove MAKE_BYTES which is a leftover from the mutable byte literal time.]]></description>
    <author>&#71;&#101;&#111;&#114;&#103;&#32;&#66;&#114;&#97;&#110;&#100;&#108;&#32;&#60;&#103;&#101;&#111;&#114;&#103;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 20 Jul 2008 21:38:50 +0000</pubDate>
</item>
<item>
    <title>#3021: Antoine Pitrou's Lexical exception handlers</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/212a1fee6bf9/Lib/opcode.py</link>
    <description><![CDATA[#3021: Antoine Pitrou's Lexical exception handlers]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Wed, 11 Jun 2008 15:59:43 +0000</pubDate>
</item>
<item>
    <title>Add missing UNPACK_EX opcode.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bce69db72e00/Lib/opcode.py</link>
    <description><![CDATA[Add missing UNPACK_EX opcode.]]></description>
    <author>&#84;&#104;&#111;&#109;&#97;&#115;&#32;&#87;&#111;&#117;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#104;&#111;&#109;&#97;&#115;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 18 Mar 2008 20:13:50 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 59541-59561 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/4dc01402d78a/Lib/opcode.py</link>
    <description><![CDATA[Merged revisions 59541-59561 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
........<br/>
  r59544 | raymond.hettinger | 2007-12-18 01:13:45 +0100 (Tue, 18 Dec 2007) | 1 line<br/>
<br/>
  Add more namedtuple() test cases.  Neaten the code and comments.<br/>
........<br/>
  r59545 | christian.heimes | 2007-12-18 04:38:03 +0100 (Tue, 18 Dec 2007) | 3 lines<br/>
<br/>
  Fixed for #1601: IDLE not working correctly on Windows (Py30a2/IDLE30a1)<br/>
<br/>
  Amaury's ideas works great. Should we build the Python core with WINVER=0x0500 and _WIN32_WINNT=0x0500, too?<br/>
........<br/>
  r59546 | christian.heimes | 2007-12-18 10:00:13 +0100 (Tue, 18 Dec 2007) | 1 line<br/>
<br/>
  Make it a bit easier to test Tcl/Tk and idle from a build dir.<br/>
........<br/>
  r59547 | christian.heimes | 2007-12-18 10:12:10 +0100 (Tue, 18 Dec 2007) | 1 line<br/>
<br/>
  Removed several unused files from the PCbuild9 directory. They are relics from the past.<br/>
........<br/>
  r59548 | raymond.hettinger | 2007-12-18 19:26:18 +0100 (Tue, 18 Dec 2007) | 29 lines<br/>
<br/>
  Speed-up dictionary constructor by about 10%.<br/>
<br/>
  New opcode, STORE_MAP saves the compiler from awkward stack manipulations<br/>
  and specializes for dicts using PyDict_SetItem instead of PyObject_SetItem.<br/>
<br/>
  Old disassembly:<br/>
                0 BUILD_MAP                0<br/>
                3 DUP_TOP<br/>
                4 LOAD_CONST               1 (1)<br/>
                7 ROT_TWO<br/>
                8 LOAD_CONST               2 ('x')<br/>
               11 STORE_SUBSCR<br/>
               12 DUP_TOP<br/>
               13 LOAD_CONST               3 (2)<br/>
               16 ROT_TWO<br/>
               17 LOAD_CONST               4 ('y')<br/>
               20 STORE_SUBSCR<br/>
<br/>
  New disassembly:<br/>
                0 BUILD_MAP                0<br/>
                3 LOAD_CONST               1 (1)<br/>
                6 LOAD_CONST               2 ('x')<br/>
                9 STORE_MAP<br/>
               10 LOAD_CONST               3 (2)<br/>
               13 LOAD_CONST               4 ('y')<br/>
               16 STORE_MAP<br/>
........<br/>
  r59549 | thomas.heller | 2007-12-18 20:00:34 +0100 (Tue, 18 Dec 2007) | 2 lines<br/>
<br/>
  Issue #1642: Fix segfault in ctypes when trying to delete attributes.<br/>
........<br/>
  r59551 | guido.van.rossum | 2007-12-18 21:10:42 +0100 (Tue, 18 Dec 2007) | 2 lines<br/>
<br/>
  Issue #1645 by Alberto Bertogli.  Fix a comment.<br/>
........<br/>
  r59553 | raymond.hettinger | 2007-12-18 22:24:09 +0100 (Tue, 18 Dec 2007) | 12 lines<br/>
<br/>
  Give meaning to the oparg for BUILD_MAP:  estimated size of the dictionary.<br/>
<br/>
  Allows dictionaries to be pre-sized (upto 255 elements) saving time lost<br/>
  to re-sizes with their attendant mallocs and re-insertions.<br/>
<br/>
  Has zero effect on small dictionaries (5 elements or fewer), a slight<br/>
  benefit for dicts upto 22 elements (because they had to resize once<br/>
  anyway), and more benefit for dicts upto 255 elements (saving multiple<br/>
  resizes during the build-up and reducing the number of collisions on<br/>
  the first insertions).  Beyond 255 elements, there is no addional benefit.<br/>
........<br/>
  r59554 | christian.heimes | 2007-12-18 22:56:09 +0100 (Tue, 18 Dec 2007) | 1 line<br/>
<br/>
  Fixed #1649: IDLE error: dictionary changed size during iteration<br/>
........<br/>
  r59557 | raymond.hettinger | 2007-12-18 23:21:27 +0100 (Tue, 18 Dec 2007) | 1 line<br/>
<br/>
  Simplify and speedup _asdict() for named tuples.<br/>
........<br/>
  r59558 | christian.heimes | 2007-12-19 00:22:54 +0100 (Wed, 19 Dec 2007) | 3 lines<br/>
<br/>
  Applied patch #1635: Float patch for inf and nan on Windows (and other platforms).<br/>
<br/>
  The patch unifies float(&quot;inf&quot;) and repr(float(&quot;inf&quot;)) on all platforms.<br/>
........<br/>
  r59559 | raymond.hettinger | 2007-12-19 00:51:15 +0100 (Wed, 19 Dec 2007) | 1 line<br/>
<br/>
  Users demand iterable input for named tuples. The author capitulates.<br/>
........<br/>
  r59560 | raymond.hettinger | 2007-12-19 01:21:06 +0100 (Wed, 19 Dec 2007) | 1 line<br/>
<br/>
  Beef-up tests for dict literals<br/>
........<br/>
  r59561 | raymond.hettinger | 2007-12-19 01:27:21 +0100 (Wed, 19 Dec 2007) | 1 line<br/>
<br/>
  Zap a duplicate line<br/>
........]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 19 Dec 2007 02:07:34 +0000</pubDate>
</item>
<item>
    <title>Remove the simple slicing API. All slicing is now done with slice objects.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/4e6b4ba60c3b/Lib/opcode.py</link>
    <description><![CDATA[Remove the simple slicing API. All slicing is now done with slice objects.]]></description>
    <author>&#84;&#104;&#111;&#109;&#97;&#115;&#32;&#87;&#111;&#117;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#104;&#111;&#109;&#97;&#115;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Thu, 30 Aug 2007 22:57:53 +0000</pubDate>
</item>
<item>
    <title>Hide list comp variables and support set comprehensions</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/060c79f6d919/Lib/opcode.py</link>
    <description><![CDATA[Hide list comp variables and support set comprehensions]]></description>
    <author>&#78;&#105;&#99;&#107;&#32;&#67;&#111;&#103;&#104;&#108;&#97;&#110;&#32;&#60;&#110;&#99;&#111;&#103;&#104;&#108;&#97;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 15 Apr 2007 12:05:43 +0000</pubDate>
</item>
<item>
    <title>Implement PEP 3115 -- new metaclass syntax and semantics.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/19f7ff443718/Lib/opcode.py</link>
    <description><![CDATA[Implement PEP 3115 -- new metaclass syntax and semantics.<br/>
The compiler package hasn't been updated yet; test_compiler.py fails.<br/>
Otherwise all tests seem to be passing now.  There are no occurrences<br/>
of __metaclass__ left in the standard library.<br/>
Docs have not been updated.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 18 Mar 2007 15:41:51 +0000</pubDate>
</item>
<item>
    <title>Bytes literal.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/0ea24f4f2467/Lib/opcode.py</link>
    <description><![CDATA[Bytes literal.]]></description>
    <author>&#84;&#104;&#111;&#109;&#97;&#115;&#32;&#87;&#111;&#117;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#104;&#111;&#109;&#97;&#115;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 23 Feb 2007 19:56:57 +0000</pubDate>
</item>
<item>
    <title>* Remove PRINT_ITEM(_TO), PRINT_NEWLINE(_TO) opcodes.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/e9a6234b26af/Lib/opcode.py</link>
    <description><![CDATA[* Remove PRINT_ITEM(_TO), PRINT_NEWLINE(_TO) opcodes.<br/>
* Fix some docstrings and one Print -&gt; print.<br/>
* Fix test_{class,code,descrtut,dis,extcall,parser,popen,pkg,subprocess,syntax,traceback}.<br/>
  These were the ones that generated code with a print statement.<br/>
  In most remaining failing tests there's an issue with the soft space.]]></description>
    <author>&#71;&#101;&#111;&#114;&#103;&#32;&#66;&#114;&#97;&#110;&#100;&#108;&#32;&#60;&#103;&#101;&#111;&#114;&#103;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 09 Feb 2007 21:28:07 +0000</pubDate>
</item>
<item>
    <title>Patch #1550800: make exec a function.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/c94f37054f19/Lib/opcode.py</link>
    <description><![CDATA[Patch #1550800: make exec a function.]]></description>
    <author>&#71;&#101;&#111;&#114;&#103;&#32;&#66;&#114;&#97;&#110;&#100;&#108;&#32;&#60;&#103;&#101;&#111;&#114;&#103;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Wed, 06 Sep 2006 06:51:57 +0000</pubDate>
</item>
<item>
    <title>SF patch 1547796 by Georg Brandl -- set literals.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d0b83c4630c0/Lib/opcode.py</link>
    <description><![CDATA[SF patch 1547796 by Georg Brandl -- set literals.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 28 Aug 2006 15:27:34 +0000</pubDate>
</item>
<item>
    <title>Remove the UNARY_CONVERT opcode (was used for backticks).  Also bumped up the</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f87a3e61853d/Lib/opcode.py</link>
    <description><![CDATA[Remove the UNARY_CONVERT opcode (was used for backticks).  Also bumped up the<br/>
import MAGIC number.]]></description>
    <author>&#66;&#114;&#101;&#116;&#116;&#32;&#67;&#97;&#110;&#110;&#111;&#110;&#32;&#60;&#98;&#99;&#97;&#110;&#110;&#111;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 25 Aug 2006 05:05:30 +0000</pubDate>
</item>
<item>
    <title>INPLACE_DIVIDE is no longer necessary (INPLACE_TRUE_DIVIDE is used).</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f7fd11a75a6a/Lib/opcode.py</link>
    <description><![CDATA[INPLACE_DIVIDE is no longer necessary (INPLACE_TRUE_DIVIDE is used).]]></description>
    <author>&#78;&#101;&#97;&#108;&#32;&#78;&#111;&#114;&#119;&#105;&#116;&#122;&#32;&#60;&#110;&#110;&#111;&#114;&#119;&#105;&#116;&#122;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 17 Mar 2006 08:59:09 +0000</pubDate>
</item>
<item>
    <title>Get rid of last vestiges of BINARY_DIVIDE.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/25007c155668/Lib/opcode.py</link>
    <description><![CDATA[Get rid of last vestiges of BINARY_DIVIDE.]]></description>
    <author>&#78;&#101;&#97;&#108;&#32;&#78;&#111;&#114;&#119;&#105;&#116;&#122;&#32;&#60;&#110;&#110;&#111;&#114;&#119;&#105;&#116;&#122;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Mar 2006 06:02:10 +0000</pubDate>
</item>
<item>
    <title>Issue #2333: Backport set and dict comprehensions syntax.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/edfed0e32ced/Lib/opcode.py</link>
    <description><![CDATA[Issue #2333: Backport set and dict comprehensions syntax.]]></description>
    <author>&#65;&#108;&#101;&#120;&#97;&#110;&#100;&#114;&#101;&#32;&#86;&#97;&#115;&#115;&#97;&#108;&#111;&#116;&#116;&#105;&#32;&#60;&#97;&#108;&#101;&#120;&#97;&#110;&#100;&#114;&#101;&#64;&#112;&#101;&#97;&#100;&#114;&#111;&#112;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 11 Jan 2010 22:36:12 +0000</pubDate>
</item>
<item>
    <title>Issue #2335: Backport set literals syntax from Python 3.x.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/c2fdf25329ff/Lib/opcode.py</link>
    <description><![CDATA[Issue #2335: Backport set literals syntax from Python 3.x.]]></description>
    <author>&#65;&#108;&#101;&#120;&#97;&#110;&#100;&#114;&#101;&#32;&#86;&#97;&#115;&#115;&#97;&#108;&#111;&#116;&#116;&#105;&#32;&#60;&#97;&#108;&#101;&#120;&#97;&#110;&#100;&#114;&#101;&#64;&#112;&#101;&#97;&#100;&#114;&#111;&#112;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sat, 09 Jan 2010 23:35:54 +0000</pubDate>
</item>
<item>
    <title>add a SETUP_WITH opcode</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/145376df3ad7/Lib/opcode.py</link>
    <description><![CDATA[add a SETUP_WITH opcode<br/>
<br/>
It speeds up the with statement and correctly looks up the special<br/>
methods involved.]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 25 May 2009 13:13:44 +0000</pubDate>
</item>
<item>
    <title>Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ef8fe9088696/Lib/opcode.py</link>
    <description><![CDATA[Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with<br/>
POP_JUMP_IF_{TRUE,FALSE} and JUMP_IF_{TRUE,FALSE}_OR_POP. This avoids executing<br/>
a POP_TOP on each conditional and sometimes allows the peephole optimizer to<br/>
skip a JUMP_ABSOLUTE entirely. It speeds up list comprehensions significantly.]]></description>
    <author>&#74;&#101;&#102;&#102;&#114;&#101;&#121;&#32;&#89;&#97;&#115;&#115;&#107;&#105;&#110;&#32;&#60;&#106;&#121;&#97;&#115;&#115;&#107;&#105;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sat, 28 Feb 2009 19:03:21 +0000</pubDate>
</item>
<item>
    <title>Issue #2183: Simplify and optimize bytecode for list comprehensions.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/94e79d78dff0/Lib/opcode.py</link>
    <description><![CDATA[Issue #2183: Simplify and optimize bytecode for list comprehensions.]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Wed, 17 Dec 2008 00:38:28 +0000</pubDate>
</item>
<item>
    <title>Give meaning to the oparg for BUILD_MAP:  estimated size of the dictionary.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/7ac117b3be37/Lib/opcode.py</link>
    <description><![CDATA[Give meaning to the oparg for BUILD_MAP:  estimated size of the dictionary.<br/>
<br/>
Allows dictionaries to be pre-sized (upto 255 elements) saving time lost<br/>
to re-sizes with their attendant mallocs and re-insertions.<br/>
<br/>
Has zero effect on small dictionaries (5 elements or fewer), a slight<br/>
benefit for dicts upto 22 elements (because they had to resize once<br/>
anyway), and more benefit for dicts upto 255 elements (saving multiple<br/>
resizes during the build-up and reducing the number of collisions on<br/>
the first insertions).  Beyond 255 elements, there is no addional benefit.]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 18 Dec 2007 21:24:09 +0000</pubDate>
</item>
<item>
    <title>Speed-up dictionary constructor by about 10%.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/07aa19170a67/Lib/opcode.py</link>
    <description><![CDATA[Speed-up dictionary constructor by about 10%.<br/>
<br/>
New opcode, STORE_MAP saves the compiler from awkward stack manipulations<br/>
and specializes for dicts using PyDict_SetItem instead of PyObject_SetItem.<br/>
<br/>
Old disassembly:<br/>
              0 BUILD_MAP                0<br/>
              3 DUP_TOP<br/>
              4 LOAD_CONST               1 (1)<br/>
              7 ROT_TWO<br/>
              8 LOAD_CONST               2 ('x')<br/>
             11 STORE_SUBSCR<br/>
             12 DUP_TOP<br/>
             13 LOAD_CONST               3 (2)<br/>
             16 ROT_TWO<br/>
             17 LOAD_CONST               4 ('y')<br/>
             20 STORE_SUBSCR<br/>
<br/>
New disassembly:<br/>
              0 BUILD_MAP                0<br/>
              3 LOAD_CONST               1 (1)<br/>
              6 LOAD_CONST               2 ('x')<br/>
              9 STORE_MAP<br/>
             10 LOAD_CONST               3 (2)<br/>
             13 LOAD_CONST               4 ('y')<br/>
             16 STORE_MAP]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 18 Dec 2007 18:26:18 +0000</pubDate>
</item>
<item>
    <title>PEP 343 -- the with-statement.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/b6d2f6fd3e11/Lib/opcode.py</link>
    <description><![CDATA[PEP 343 -- the with-statement.<br/>
<br/>
This was started by Mike Bland and completed by Guido<br/>
(with help from Neal).<br/>
<br/>
This still needs a __future__ statement added;<br/>
Thomas is working on Michael's patch for that aspect.<br/>
<br/>
There's a small amount of code cleanup and refactoring<br/>
in ast.c, compile.c and ceval.c (I fixed the lltrace<br/>
behavior when EXT_POP is used -- however I had to make<br/>
lltrace a static global).]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 27 Feb 2006 22:32:47 +0000</pubDate>
</item>
<item>
    <title>Install two code generation optimizations that depend on NOP.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6bc6abba8659/Lib/opcode.py</link>
    <description><![CDATA[Install two code generation optimizations that depend on NOP.<br/>
Reduces the cost of &quot;not&quot; to almost zero.]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 21 Jun 2004 16:31:15 +0000</pubDate>
</item>
<item>
    <title>SF patch #910929:  Optimize list comprehensions</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bc006682acb2/Lib/opcode.py</link>
    <description><![CDATA[SF patch #910929:  Optimize list comprehensions<br/>
<br/>
Add a new opcode, LIST_APPEND, and apply it to the code generation for<br/>
list comprehensions.  Reduces the per-loop overhead by about a third.]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 07 Mar 2004 07:31:06 +0000</pubDate>
</item>
<item>
    <title>Replace backticks with repr() or &quot;%r&quot;</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/71a294bd7950/Lib/opcode.py</link>
    <description><![CDATA[Replace backticks with repr() or &quot;%r&quot;<br/>
<br/>
From SF patch #852334.]]></description>
    <author>&#87;&#97;&#108;&#116;&#101;&#114;&#32;&#68;&#246;&#114;&#119;&#97;&#108;&#100;&#32;&#60;&#119;&#97;&#108;&#116;&#101;&#114;&#64;&#108;&#105;&#118;&#105;&#110;&#103;&#108;&#111;&#103;&#105;&#99;&#46;&#100;&#101;&#62;</author>
    <pubDate>Thu, 12 Feb 2004 17:35:32 +0000</pubDate>
</item>
<item>
    <title>Revert the previous enhancement to the bytecode optimizer.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/3df0cf16defc/Lib/opcode.py</link>
    <description><![CDATA[Revert the previous enhancement to the bytecode optimizer.<br/>
The additional code complexity and new NOP opcode were not worth it.]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 24 Apr 2003 05:45:23 +0000</pubDate>
</item>
<item>
    <title>Improved the bytecode optimizer.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ab4fbf8ebab3/Lib/opcode.py</link>
    <description><![CDATA[Improved the bytecode optimizer.<br/>
* Can now test for basic blocks.<br/>
* Optimize inverted comparisions.<br/>
* Optimize unary_not followed by a conditional jump.<br/>
* Added a new opcode, NOP, to keep code size constant.<br/>
* Applied NOP to previous transformations where appropriate.<br/>
<br/>
Note, the NOP would not be necessary if other functions were<br/>
added to re-target jump addresses and update the co_lnotab mapping.<br/>
That would yield slightly faster and cleaner bytecode at the<br/>
expense of optimizer simplicity and of keeping it decoupled<br/>
from the line-numbering structure.]]></description>
    <author>&#82;&#97;&#121;&#109;&#111;&#110;&#100;&#32;&#72;&#101;&#116;&#116;&#105;&#110;&#103;&#101;&#114;&#32;&#60;&#112;&#121;&#116;&#104;&#111;&#110;&#64;&#114;&#99;&#110;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 22 Apr 2003 06:49:11 +0000</pubDate>
</item>
<item>
    <title>new opcode module - extract opcode definitions from dis.py - eventually</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/04a93b7bdce4/Lib/opcode.py</link>
    <description><![CDATA[new opcode module - extract opcode definitions from dis.py - eventually<br/>
should be generated automatically]]></description>
    <author>&#83;&#107;&#105;&#112;&#32;&#77;&#111;&#110;&#116;&#97;&#110;&#97;&#114;&#111;&#32;&#60;&#115;&#107;&#105;&#112;&#64;&#112;&#111;&#98;&#111;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 27 Feb 2003 21:27:52 +0000</pubDate>
</item>

  </channel>
</rss>
