<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/compiler, branch v2.2.3c1</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>A couple of fixes for the compiler package:</title>
<updated>2002-10-07T12:21:09+00:00</updated>
<author>
<name>Michael W. Hudson</name>
<email>mwh@python.net</email>
</author>
<published>2002-10-07T12:21:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b45532abd26a9752e42ca589b5b0e49552761811'/>
<id>b45532abd26a9752e42ca589b5b0e49552761811</id>
<content type='text'>
 * always write the mtime to a .pyc in little endian format
 * ensure class's docstrings get attached to the class, not the
   enclosing scope!

Rather more fixes are needed for the trunk; these will be done in due
course.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * always write the mtime to a .pyc in little endian format
 * ensure class's docstrings get attached to the class, not the
   enclosing scope!

Rather more fixes are needed for the trunk; these will be done in due
course.
</pre>
</div>
</content>
</entry>
<entry>
<title>Backport fix for SF #522274 from trunk.</title>
<updated>2002-04-19T22:58:11+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2002-04-19T22:58:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=3b016b130f421eaf17bcd1986d9f8b3b60160ebe'/>
<id>3b016b130f421eaf17bcd1986d9f8b3b60160ebe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>This commit was manufactured by cvs2svn to create branch</title>
<updated>2001-12-28T04:27:46+00:00</updated>
<author>
<name>cvs2svn</name>
<email>tools@python.org</email>
</author>
<published>2001-12-28T04:27:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=22768184cbbaa4bd6083c51c28183be7f4fc3d69'/>
<id>22768184cbbaa4bd6083c51c28183be7f4fc3d69</id>
<content type='text'>
'release22-maint'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'release22-maint'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix [ #484645 ] little bug in pycodegen.py</title>
<updated>2001-11-27T23:35:10+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2001-11-27T23:35:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=57911ae35a76276997fb51afb78f0a8dfeb684b8'/>
<id>57911ae35a76276997fb51afb78f0a8dfeb684b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix SF bug #479186: compiler generates bad code for "del"</title>
<updated>2001-11-09T16:24:34+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2001-11-09T16:24:34+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=6383c2d1a677f168ed2a4dfc9cb28f93ec327a0e'/>
<id>6383c2d1a677f168ed2a4dfc9cb28f93ec327a0e</id>
<content type='text'>
Fix by Neil Schemenauer.  Visit the Subscript node when trying to find
the operation for a statement.

XXX Not sure if there are other nodes that should be visited.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix by Neil Schemenauer.  Visit the Subscript node when trying to find
the operation for a statement.

XXX Not sure if there are other nodes that should be visited.
</pre>
</div>
</content>
</entry>
<entry>
<title>Whitespace normalization.</title>
<updated>2001-10-18T21:57:37+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2001-10-18T21:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=e0c446bb4ad67294f42d4cb53b4ff28413bd8dde'/>
<id>e0c446bb4ad67294f42d4cb53b4ff28413bd8dde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Vastly improved stacksize calculation.</title>
<updated>2001-10-17T13:37:29+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2001-10-17T13:37:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=138d90eb73415e48a0e7f09a7c9603b1164bcaed'/>
<id>138d90eb73415e48a0e7f09a7c9603b1164bcaed</id>
<content type='text'>
There are now no known cases where the compiler package computes a
stack depth lower than the one computed by the builtin compiler.  (To
achieve this state, we had to fix bugs in both compilers :-).

The chief change is to do the depth calculations with respect to basic
blocks.  The stack effect of block is calculated.  Then the flow graph
is traversed using breadth-first search to find the max weight path
through the graph.

Had to fix the StackDepthTracker to calculate the right info for
several opcodes: LOAD_ATTR, CALL_FUNCTION (and friends), MAKE_CLOSURE,
and DUP_TOPX.

XXX Still need to handle free variables in MAKE_CLOSURE.

XXX There are still a lot of places where the computed stack depth is
larger than for the builtin compiler.  These won't cause the
interpreter to overflow the frame, but they waste space.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are now no known cases where the compiler package computes a
stack depth lower than the one computed by the builtin compiler.  (To
achieve this state, we had to fix bugs in both compilers :-).

The chief change is to do the depth calculations with respect to basic
blocks.  The stack effect of block is calculated.  Then the flow graph
is traversed using breadth-first search to find the max weight path
through the graph.

Had to fix the StackDepthTracker to calculate the right info for
several opcodes: LOAD_ATTR, CALL_FUNCTION (and friends), MAKE_CLOSURE,
and DUP_TOPX.

XXX Still need to handle free variables in MAKE_CLOSURE.

XXX There are still a lot of places where the computed stack depth is
larger than for the builtin compiler.  These won't cause the
interpreter to overflow the frame, but they waste space.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle testlist_safe as if it were testlist.</title>
<updated>2001-10-17T13:32:52+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2001-10-17T13:32:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d114261608f986b5c797eef4330fbe32041d3eb6'/>
<id>d114261608f986b5c797eef4330fbe32041d3eb6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix comment typo</title>
<updated>2001-09-27T04:18:36+00:00</updated>
<author>
<name>Andrew M. Kuchling</name>
<email>amk@amk.ca</email>
</author>
<published>2001-09-27T04:18:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=264e8186d551647d4583f592e44b2d7a64e61096'/>
<id>264e8186d551647d4583f592e44b2d7a64e61096</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>API change:</title>
<updated>2001-09-17T21:02:51+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2001-09-17T21:02:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=9dca36432e4526da9c5885e86782e7dfa5432c42'/>
<id>9dca36432e4526da9c5885e86782e7dfa5432c42</id>
<content type='text'>
compile() becomes replacement for builtin compile()
compileFile() generates a .pyc from a .py
both are exported in __init__

compiler.parse() gets optional second argument to specify compilation
mode, e.g. single, eval, exec

Add AbstractCompileMode as parent class and Module, Expression, and
Interactive as concrete subclasses.  Each corresponds to a compilation
mode.

THe AbstractCompileMode instances in turn delegate to CodeGeneration
subclasses specialized for their particular functions --
ModuleCodeGenerator, ExpressionCodeGeneration,
InteractiveCodeGenerator.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
compile() becomes replacement for builtin compile()
compileFile() generates a .pyc from a .py
both are exported in __init__

compiler.parse() gets optional second argument to specify compilation
mode, e.g. single, eval, exec

Add AbstractCompileMode as parent class and Module, Expression, and
Interactive as concrete subclasses.  Each corresponds to a compilation
mode.

THe AbstractCompileMode instances in turn delegate to CodeGeneration
subclasses specialized for their particular functions --
ModuleCodeGenerator, ExpressionCodeGeneration,
InteractiveCodeGenerator.
</pre>
</div>
</content>
</entry>
</feed>
