Benjamin Peterson
bdf525b77c
wrap everything at 80 chars
2015-03-02 09:31:40 -05:00
Benjamin Peterson
29fec92875
link to the correct dis method or function ( closes #23561 )
2015-03-02 09:27:43 -05:00
Berker Peksag
ab4040e3c6
Issue #20521 : Change ``TOS`` to TOS in dis documentation.
...
TOS is an abbreviation of top-of-stack.
Patch by Sven Berkvens-Matthijsse.
2015-03-02 06:33:30 +02:00
Serhiy Storchaka
f751a9e6a2
Issue #22845 : Improved formatting of dis documentation.
2014-11-11 10:02:11 +02:00
R David Murray
0bce6e7462
whatsnew: expand 'dis' entry.
...
Also add one missing versionadded.
2014-01-07 14:30:17 -05:00
Serhiy Storchaka
0e90e99188
Issue #19795 : Improved markup of True/False constants.
2013-11-29 12:19:53 +02:00
Larry Hastings
3a9079742f
Issue #19722 : Added opcode.stack_effect(), which accurately
...
computes the stack effect of bytecode instructions.
2013-11-23 14:49:22 -08:00
Nick Coghlan
50c48b89e3
Close #17916 : dis.Bytecode based replacement for distb
...
- Bytecode.from_traceback() alternate constructor
- current_offset parameter and attribute
Patch by Claudiu Popa
2013-11-23 00:57:00 +10:00
Nick Coghlan
07155c9c14
Fix typo in updated dis docs
2013-11-06 22:12:07 +10:00
Nick Coghlan
90b8e7d2bc
Close #19378 : address flaws in the new dis module APIs
...
- confusing line_offset parameter -> first_line parameter
- systematically test and fix new file parameter
- remove redundant Bytecode.show_info() API
- rename Bytecode.display_code() to Bytecode.dis() and have it
return the multi-line string rather than printing it directly
- eliminated some not-so-helpful helpers from the bytecode_helper
test support module
Also fixed a longstanding defect (worked around in the test suite)
where lines emitted by the dis module could include trailing white
space. That no longer happens, allowing the formatting tests to be
simplified to use plain string comparisons.
2013-11-06 22:08:36 +10:00
Georg Brandl
3cb26b77b6
merge with 3.3
2013-10-12 18:41:23 +02:00
Georg Brandl
c96ef1f0ed
Closes #13026 : fix documentation of MAKE_FUNCTION for 3.x.
2013-10-12 18:41:18 +02:00
Ezio Melotti
6e6c6ac3d7
#18796 : improve documentation of the file argument of dis.show_code. Initial patch by Vajrasky Kok.
2013-08-23 22:41:39 +03:00
Benjamin Peterson
e8e14591eb
rather than passing locals to the class body, just execute the class body in the proper environment
2013-05-16 14:37:25 -05:00
Nick Coghlan
b39fd0c9b8
Issue #11816 : multiple improvements to the dis module
...
* get_instructions generator
* ability to redirect output to a file
* Bytecode and Instruction abstractions
Patch by Nick Coghlan, Ryan Kelly and Thomas Kluyver.
2013-05-06 23:59:20 +10:00
Benjamin Peterson
3b0431dc60
check local class namespace before reaching for cells ( closes #17853 )
2013-04-30 09:41:40 -04:00
Andrew Svetlov
a5c430940c
Issue #16538 : correctly describe MAKE_CLOSURE in docs.
...
Patch by Daniel Urban
2012-11-23 15:28:34 +02:00
Benjamin Peterson
143d034ecd
merge 3.2
2012-10-12 12:04:32 -04:00
Ezio Melotti
7fa822275b
Fix links to the __next__ method.
2012-10-12 13:42:08 +03:00
Eli Bendersky
60ee04969e
Issue #14349 : Fix the doc of the MAKE_FUNCTION opcode in Doc/library/dis.rst to
...
correctly list the stack params it expects.
2012-03-24 18:52:45 +02:00
Nick Coghlan
1f7ce62bd6
Implement PEP 380 - 'yield from' ( closes #11682 )
2012-01-13 21:43:40 +10:00
Benjamin Peterson
76f7f4d979
excise the remains of STOP_CODE, which hasn't done anything useful for years
2011-07-17 22:49:50 -05:00
Raymond Hettinger
4f707fd316
Separate source link from main text.
2011-01-10 19:54:11 +00:00
Raymond Hettinger
1048094037
Move source links to consistent location and remove wordy, big yellow boxes.
2011-01-10 03:26:08 +00:00
Antoine Pitrou
c58bde159f
SET_LINENO was removed in 2.3
2010-12-12 18:09:53 +00:00
Éric Araujo
6e6cb8e0e4
Provide links to Python source where the code is short, readable and
...
informative adjunct to the docs. Forward-port of Raymond's r86225 and
r86245 using the new source reST role added in #10334 .
2010-11-16 19:13:50 +00:00
Georg Brandl
2379877246
Fix documentation of dis.opmap direction.
2010-10-17 11:29:07 +00:00
Amaury Forgeot d'Arc
ba117ef7e9
#4617 : Previously it was illegal to delete a name from the local
...
namespace if it occurs as a free variable in a nested block. This limitation
of the compiler has been lifted, and a new opcode introduced (DELETE_DEREF).
This sample was valid in 2.6, but fails to compile in 3.x without this change::
>>> def f():
... def print_error():
... print(e)
... try:
... something
... except Exception as e:
... print_error()
... # implicit "del e" here
This sample has always been invalid in Python, and now works::
>>> def outer(x):
... def inner():
... return x
... inner()
... del x
There is no need to bump the PYC magic number: the new opcode is used
for code that did not compile before.
2010-09-10 21:39:53 +00:00
Nick Coghlan
e8814fbb32
As per python-dev discussion with Eli, properly document and publish dis.show_code
2010-09-10 14:08:04 +00:00
Antoine Pitrou
74a69fa662
Issue #9225 : Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced
...
by the new (and simpler) DUP_TOP_TWO. Performance isn't changed, but
our bytecode is a bit simplified. Patch by Demur Rumed.
2010-09-04 18:43:52 +00:00
Georg Brandl
67b21b7547
Consistency check for versionadded/changed directives.
2010-08-17 15:07:14 +00:00
Nick Coghlan
eae2da1da7
Issue 9147: Add dis.code_info()
2010-08-17 08:03:36 +00:00
Georg Brandl
4833e5b874
Remove the need for a "()" empty argument list after opcodes.
2010-07-03 10:41:33 +00:00
Georg Brandl
19b7a87121
Wrap and use the correct directive.
2010-07-03 10:21:50 +00:00
Nick Coghlan
5c8b54eb04
Issue 6507: accept source strings directly in dis.dis(). Original patch by Daniel Urban
2010-07-03 07:36:51 +00:00
Brett Cannon
8315fd12a5
Some people have mistaken Python bytecode as being stable and unchanging. In
...
reality it's simply an implementation detail for CPython. This point is now
clearly documented in both the docs for dis and the glossary.
Closes issue #7829 . Thanks to Terry Reedy for some initial suggestions on
wording.
2010-07-02 22:03:00 +00:00
Benjamin Peterson
775ae4a6f0
remove description of LOAD_LOCALS #8874
2010-06-02 18:10:09 +00:00
Ezio Melotti
7de0a6e04c
#7432 : remove unnecessary from __future__ import division
2010-01-05 08:37:27 +00:00
Benjamin Peterson
876b2f286b
Merged revisions 72912,72920,72940 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72912 | benjamin.peterson | 2009-05-25 08:13:44 -0500 (Mon, 25 May 2009) | 5 lines
add a SETUP_WITH opcode
It speeds up the with statement and correctly looks up the special
methods involved.
........
r72920 | benjamin.peterson | 2009-05-25 15:12:57 -0500 (Mon, 25 May 2009) | 1 line
take into account the fact that SETUP_WITH pushes a finally block
........
r72940 | benjamin.peterson | 2009-05-26 07:49:59 -0500 (Tue, 26 May 2009) | 1 line
teach the peepholer about SETUP_WITH
........
2009-06-28 03:18:59 +00:00
Georg Brandl
71515ca191
Remove surplus empty lines and convert more files to new optional arg style.
2009-05-17 12:29:12 +00:00
Georg Brandl
c2a4f4fb67
Update signature style for optional arguments, part 3.
2009-04-10 09:03:43 +00:00
Jeffrey Yasskin
9de7ec7868
http://bugs.python.org/issue4715
...
This patch by Antoine Pitrou optimizes the bytecode for conditional branches by
merging the following "POP_TOP" instruction into the conditional jump. For
example, the list comprehension "[x for x in l if not x]" produced the
following bytecode:
1 0 BUILD_LIST 0
3 LOAD_FAST 0 (.0)
>> 6 FOR_ITER 23 (to 32)
9 STORE_FAST 1 (x)
12 LOAD_FAST 1 (x)
15 JUMP_IF_TRUE 10 (to 28)
18 POP_TOP
19 LOAD_FAST 1 (x)
22 LIST_APPEND 2
25 JUMP_ABSOLUTE 6
>> 28 POP_TOP
29 JUMP_ABSOLUTE 6
>> 32 RETURN_VALUE
but after the patch it produces the following bytecode:
1 0 BUILD_LIST 0
3 LOAD_FAST 0 (.0)
>> 6 FOR_ITER 18 (to 27)
9 STORE_FAST 1 (x)
12 LOAD_FAST 1 (x)
15 POP_JUMP_IF_TRUE 6
18 LOAD_FAST 1 (x)
21 LIST_APPEND 2
24 JUMP_ABSOLUTE 6
>> 27 RETURN_VALUE
Notice that not only the code is shorter, but the conditional jump
(POP_JUMP_IF_TRUE) jumps right to the start of the loop instead of going through
the JUMP_ABSOLUTE at the end. "continue" statements are helped
similarly.
Furthermore, the old jump opcodes (JUMP_IF_FALSE, JUMP_IF_TRUE) have been
replaced by two new opcodes:
- JUMP_IF_TRUE_OR_POP, which jumps if true and pops otherwise
- JUMP_IF_FALSE_OR_POP, which jumps if false and pops otherwise
2009-02-25 02:25:04 +00:00
Georg Brandl
48310cd3f2
Remove trailing whitespace.
2009-01-03 21:18:54 +00:00
Benjamin Peterson
75edad0502
Merged revisions 68116-68119,68121,68123-68127 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68116 | georg.brandl | 2009-01-01 05:46:51 -0600 (Thu, 01 Jan 2009) | 2 lines
#4100 : note that element children are not necessarily present on "start" events.
........
r68117 | georg.brandl | 2009-01-01 05:53:55 -0600 (Thu, 01 Jan 2009) | 2 lines
#4156 : make clear that "protocol" is to be replaced with the protocol name.
........
r68118 | georg.brandl | 2009-01-01 06:00:19 -0600 (Thu, 01 Jan 2009) | 2 lines
#4185 : clarify escape behavior of replacement strings.
........
r68119 | georg.brandl | 2009-01-01 06:09:40 -0600 (Thu, 01 Jan 2009) | 3 lines
#4222 : document dis.findlabels() and dis.findlinestarts() and
put them into dis.__all__.
........
r68121 | georg.brandl | 2009-01-01 06:43:33 -0600 (Thu, 01 Jan 2009) | 2 lines
Point to types module in new module deprecation notice.
........
r68123 | georg.brandl | 2009-01-01 06:52:29 -0600 (Thu, 01 Jan 2009) | 2 lines
#4784 : ... on three counts ...
........
r68124 | georg.brandl | 2009-01-01 06:53:19 -0600 (Thu, 01 Jan 2009) | 2 lines
#4782 : Fix markup error that hid load() and loads().
........
r68125 | georg.brandl | 2009-01-01 07:02:09 -0600 (Thu, 01 Jan 2009) | 2 lines
#4776 : add data_files and package_dir arguments.
........
r68126 | georg.brandl | 2009-01-01 07:05:13 -0600 (Thu, 01 Jan 2009) | 2 lines
Handlers are in the `logging.handlers` module.
........
r68127 | georg.brandl | 2009-01-01 07:14:49 -0600 (Thu, 01 Jan 2009) | 2 lines
#4767 : Use correct submodules for all MIME classes.
........
2009-01-01 15:05:06 +00:00
Antoine Pitrou
f289ae6f01
Merged revisions 67818 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r67818 | antoine.pitrou | 2008-12-17 01:38:28 +0100 (mer., 17 déc. 2008) | 3 lines
Issue #2183 : Simplify and optimize bytecode for list comprehensions.
........
2008-12-18 11:06:25 +00:00
Benjamin Peterson
206e3074d3
Merged revisions 66887,66891,66902-66903,66905-66906,66911-66913,66922,66927-66928,66936,66939-66940,66962,66964,66973 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
................
r66887 | benjamin.peterson | 2008-10-13 16:51:40 -0500 (Mon, 13 Oct 2008) | 1 line
document how to disable fixers
................
r66891 | amaury.forgeotdarc | 2008-10-14 16:47:22 -0500 (Tue, 14 Oct 2008) | 5 lines
#4122 : On Windows, Py_UNICODE_ISSPACE cannot be used in an extension module:
compilation fails with "undefined reference to _Py_ascii_whitespace"
Will backport to 2.6.
................
r66902 | skip.montanaro | 2008-10-15 06:49:10 -0500 (Wed, 15 Oct 2008) | 1 line
easter egg
................
r66903 | benjamin.peterson | 2008-10-15 15:34:09 -0500 (Wed, 15 Oct 2008) | 1 line
don't recurse into directories that start with '.'
................
r66905 | benjamin.peterson | 2008-10-15 16:05:55 -0500 (Wed, 15 Oct 2008) | 1 line
support the optional line argument for idle
................
r66906 | benjamin.peterson | 2008-10-15 16:58:46 -0500 (Wed, 15 Oct 2008) | 1 line
add a much requested newline
................
r66911 | benjamin.peterson | 2008-10-15 18:10:28 -0500 (Wed, 15 Oct 2008) | 41 lines
Merged revisions 66805,66841,66860,66884-66886,66893,66907,66910 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r66805 | benjamin.peterson | 2008-10-04 20:11:02 -0500 (Sat, 04 Oct 2008) | 1 line
mention what the fixes directory is for
........
r66841 | benjamin.peterson | 2008-10-07 17:48:12 -0500 (Tue, 07 Oct 2008) | 1 line
use assertFalse and assertTrue
........
r66860 | benjamin.peterson | 2008-10-08 16:05:07 -0500 (Wed, 08 Oct 2008) | 1 line
instead of abusing the pattern matcher, use start_tree to find a next binding
........
r66884 | benjamin.peterson | 2008-10-13 15:50:30 -0500 (Mon, 13 Oct 2008) | 1 line
don't print tokens to stdout when -v is given
........
r66885 | benjamin.peterson | 2008-10-13 16:28:57 -0500 (Mon, 13 Oct 2008) | 1 line
add the -x option to disable fixers
........
r66886 | benjamin.peterson | 2008-10-13 16:33:53 -0500 (Mon, 13 Oct 2008) | 1 line
cut down on some crud
........
r66893 | benjamin.peterson | 2008-10-14 17:16:54 -0500 (Tue, 14 Oct 2008) | 1 line
add an optional set literal fixer
........
r66907 | benjamin.peterson | 2008-10-15 16:59:41 -0500 (Wed, 15 Oct 2008) | 1 line
don't write backup files by default
........
r66910 | benjamin.peterson | 2008-10-15 17:43:10 -0500 (Wed, 15 Oct 2008) | 1 line
add the -n option; it stops backupfiles from being written
........
................
r66912 | hirokazu.yamamoto | 2008-10-16 01:25:25 -0500 (Thu, 16 Oct 2008) | 2 lines
removed unused _PyUnicode_FromFileSystemEncodedObject.
made win32_chdir, win32_wchdir static.
................
r66913 | benjamin.peterson | 2008-10-16 13:52:14 -0500 (Thu, 16 Oct 2008) | 1 line
document that deque indexing is O(n) #4123
................
r66922 | benjamin.peterson | 2008-10-16 14:40:14 -0500 (Thu, 16 Oct 2008) | 1 line
use new showwarnings signature for idle #3391
................
r66927 | andrew.kuchling | 2008-10-16 15:15:47 -0500 (Thu, 16 Oct 2008) | 1 line
Fix wording (2.6.1 backport candidate)
................
r66928 | georg.brandl | 2008-10-16 15:20:56 -0500 (Thu, 16 Oct 2008) | 2 lines
Add more TOC to the whatsnew index page.
................
r66936 | georg.brandl | 2008-10-16 16:20:15 -0500 (Thu, 16 Oct 2008) | 2 lines
#4131 : FF3 doesn't write cookies.txt files.
................
r66939 | georg.brandl | 2008-10-16 16:36:39 -0500 (Thu, 16 Oct 2008) | 2 lines
part of #4012 : kill off old name "processing".
................
r66940 | georg.brandl | 2008-10-16 16:38:48 -0500 (Thu, 16 Oct 2008) | 2 lines
#4083 : add "as" to except handler grammar as per PEP 3110.
................
r66962 | benjamin.peterson | 2008-10-17 15:01:01 -0500 (Fri, 17 Oct 2008) | 1 line
clarify CALL_FUNCTION #4141
................
r66964 | georg.brandl | 2008-10-17 16:41:49 -0500 (Fri, 17 Oct 2008) | 2 lines
Fix duplicate word.
................
r66973 | armin.ronacher | 2008-10-19 03:27:43 -0500 (Sun, 19 Oct 2008) | 3 lines
Fixed #4067 by implementing _attributes and _fields for the AST root node.
................
2008-10-19 14:07:49 +00:00
Benjamin Peterson
aac8fd3153
fix markup
2008-07-20 22:02:26 +00:00
Georg Brandl
5ac22308be
#3400 : document new 3.0 opcodes.
2008-07-20 21:39:03 +00:00
Benjamin Peterson
69164c77ef
document LOAD_BUILD_CLASS
2008-07-03 14:45:20 +00:00
Benjamin Peterson
eec3d71379
#3021 : Antoine Pitrou's Lexical exception handlers
2008-06-11 15:59:43 +00:00