annotate Include/opcode.h @ 58664:993f703a61ba

Merged revisions 77484,77487,77561,77570,77593,77603,77608,77667,77702-77703,77739,77858,77887,77889 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r77484 | skip.montanaro | 2010-01-13 19:12:34 -0600 (Wed, 13 Jan 2010) | 4 lines Update PyEval_EvalFrame to PyEval_EvalFrameEx. This looks to have been done partially before. Also add a comment describing how this might have to work with different versions of the interpreter. ........ r77487 | ezio.melotti | 2010-01-14 05:34:10 -0600 (Thu, 14 Jan 2010) | 1 line Fixed typo ........ r77561 | georg.brandl | 2010-01-17 02:42:30 -0600 (Sun, 17 Jan 2010) | 1 line #7699: improve datetime docs: straightforward linking to strftime/strptime section, mark classmethods as such. ........ r77570 | georg.brandl | 2010-01-17 06:14:42 -0600 (Sun, 17 Jan 2010) | 1 line Add note about usage of STRINGLIB_EMPTY. ........ r77593 | georg.brandl | 2010-01-17 17:33:53 -0600 (Sun, 17 Jan 2010) | 1 line Fix internal reference. ........ r77603 | benjamin.peterson | 2010-01-18 17:07:56 -0600 (Mon, 18 Jan 2010) | 8 lines data descriptors do not override the class dictionary if __get__ is not defined Adjust documentation and add a test to verify this behavior. See http://mail.python.org/pipermail/python-dev/2010-January/095637.html for discussion. ........ r77608 | gregory.p.smith | 2010-01-19 02:19:03 -0600 (Tue, 19 Jan 2010) | 6 lines Do not compile stubs for the sha2 series hashes in the openssl hashlib module when the openssl version is too old to support them. That leads both compiled code bloat and to unittests attempting to test implementations that don't exist for comparison purposes on such platforms. ........ r77667 | mark.dickinson | 2010-01-21 12:32:27 -0600 (Thu, 21 Jan 2010) | 1 line Add two more test_strtod test values. ........ r77702 | georg.brandl | 2010-01-23 02:43:31 -0600 (Sat, 23 Jan 2010) | 1 line #7762: fix refcount annotation of PyUnicode_Tailmatch(). ........ r77703 | georg.brandl | 2010-01-23 02:47:54 -0600 (Sat, 23 Jan 2010) | 1 line #7725: fix referencing issue. ........ r77739 | benjamin.peterson | 2010-01-24 21:52:52 -0600 (Sun, 24 Jan 2010) | 1 line mention from_float() in error message ........ r77858 | georg.brandl | 2010-01-30 11:57:48 -0600 (Sat, 30 Jan 2010) | 1 line #7802: fix invalid example (heh). ........ r77887 | georg.brandl | 2010-01-31 12:51:49 -0600 (Sun, 31 Jan 2010) | 5 lines Fix-up ftplib documentation: move exception descriptions to toplevel, not inside a class remove attribution in "versionadded" spell and grammar check docstring of FTP_TLS ........ r77889 | michael.foord | 2010-01-31 13:59:26 -0600 (Sun, 31 Jan 2010) | 1 line Minor modification to unittest documentation. ........
author Benjamin Peterson <benjamin@python.org>
date Wed, 03 Feb 2010 02:35:45 +0000
parents 3aaf2e065db0
children cbd6f5d24af9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
1 #ifndef Py_OPCODE_H
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
2 #define Py_OPCODE_H
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
3 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
4 extern "C" {
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
5 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
6
145
853b736a6a9e Added copyright notice.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
7
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 /* Instruction opcodes for compiled code */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 78
diff changeset
10 #define STOP_CODE 0
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 #define POP_TOP 1
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 #define ROT_TWO 2
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 #define ROT_THREE 3
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 78
diff changeset
14 #define DUP_TOP 4
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
15 #define ROT_FOUR 5
32395
6bc6abba8659 Install two code generation optimizations that depend on NOP.
Raymond Hettinger <python@rcn.com>
parents: 31618
diff changeset
16 #define NOP 9
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 #define UNARY_POSITIVE 10
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 #define UNARY_NEGATIVE 11
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 #define UNARY_NOT 12
2841
64928f6a8e80 keyword arguments and faster function calls
Guido van Rossum <guido@python.org>
parents: 2803
diff changeset
21
409
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
22 #define UNARY_INVERT 15
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23
3320
4e6d0b26efaf changes for ** (power) operator
Guido van Rossum <guido@python.org>
parents: 2841
diff changeset
24 #define BINARY_POWER 19
4e6d0b26efaf changes for ** (power) operator
Guido van Rossum <guido@python.org>
parents: 2841
diff changeset
25
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 #define BINARY_MULTIPLY 20
37014
25007c155668 Get rid of last vestiges of BINARY_DIVIDE.
Neal Norwitz <nnorwitz@gmail.com>
parents: 36695
diff changeset
27
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 #define BINARY_MODULO 22
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 #define BINARY_ADD 23
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 #define BINARY_SUBTRACT 24
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 #define BINARY_SUBSCR 25
19051
f20727cc3d0f Implement PEP 238 in its (almost) full glory.
Guido van Rossum <guido@python.org>
parents: 18148
diff changeset
32 #define BINARY_FLOOR_DIVIDE 26
f20727cc3d0f Implement PEP 238 in its (almost) full glory.
Guido van Rossum <guido@python.org>
parents: 18148
diff changeset
33 #define BINARY_TRUE_DIVIDE 27
f20727cc3d0f Implement PEP 238 in its (almost) full glory.
Guido van Rossum <guido@python.org>
parents: 18148
diff changeset
34 #define INPLACE_FLOOR_DIVIDE 28
f20727cc3d0f Implement PEP 238 in its (almost) full glory.
Guido van Rossum <guido@python.org>
parents: 18148
diff changeset
35 #define INPLACE_TRUE_DIVIDE 29
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36
44349
4dc01402d78a Merged revisions 59541-59561 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 43777
diff changeset
37 #define STORE_MAP 54
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
38 #define INPLACE_ADD 55
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
39 #define INPLACE_SUBTRACT 56
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
40 #define INPLACE_MULTIPLY 57
37057
f7fd11a75a6a INPLACE_DIVIDE is no longer necessary (INPLACE_TRUE_DIVIDE is used).
Neal Norwitz <nnorwitz@gmail.com>
parents: 37014
diff changeset
41
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
42 #define INPLACE_MODULO 59
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 #define STORE_SUBSCR 60
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 #define DELETE_SUBSCR 61
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
45
409
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
46 #define BINARY_LSHIFT 62
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
47 #define BINARY_RSHIFT 63
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
48 #define BINARY_AND 64
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
49 #define BINARY_XOR 65
b5fe6482072f Added shift and mask ops.
Guido van Rossum <guido@python.org>
parents: 178
diff changeset
50 #define BINARY_OR 66
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
51 #define INPLACE_POWER 67
17597
32e7d0898eab Iterators phase 1. This comprises:
Guido van Rossum <guido@python.org>
parents: 16398
diff changeset
52 #define GET_ITER 68
41226
19f7ff443718 Implement PEP 3115 -- new metaclass syntax and semantics.
Guido van Rossum <guido@python.org>
parents: 40894
diff changeset
53 #define STORE_LOCALS 69
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 #define PRINT_EXPR 70
41226
19f7ff443718 Implement PEP 3115 -- new metaclass syntax and semantics.
Guido van Rossum <guido@python.org>
parents: 40894
diff changeset
55 #define LOAD_BUILD_CLASS 71
40788
e9a6234b26af * Remove PRINT_ITEM(_TO), PRINT_NEWLINE(_TO) opcodes.
Georg Brandl <georg@python.org>
parents: 39782
diff changeset
56
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
57 #define INPLACE_LSHIFT 75
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
58 #define INPLACE_RSHIFT 76
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
59 #define INPLACE_AND 77
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
60 #define INPLACE_XOR 78
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
61 #define INPLACE_OR 79
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 #define BREAK_LOOP 80
36695
b6d2f6fd3e11 PEP 343 -- the with-statement.
Guido van Rossum <guido@python.org>
parents: 32395
diff changeset
63 #define WITH_CLEANUP 81
41226
19f7ff443718 Implement PEP 3115 -- new metaclass syntax and semantics.
Guido van Rossum <guido@python.org>
parents: 40894
diff changeset
64
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 #define RETURN_VALUE 83
14038
18385172fac0 Apply SF patch #101135, adding 'import module as m' and 'from module import
Thomas Wouters <thomas@python.org>
parents: 13930
diff changeset
66 #define IMPORT_STAR 84
43777
0d462d789b18 Merging the py3k-pep3137 branch back into the py3k branch.
Guido van Rossum <guido@python.org>
parents: 43100
diff changeset
67
18148
7bc473b2c654 Merging the gen-branch into the main line, at Guido's direction. Yay!
Tim Peters <tim.peters@gmail.com>
parents: 17597
diff changeset
68 #define YIELD_VALUE 86
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 #define POP_BLOCK 87
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 #define END_FINALLY 88
47594
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
71 #define POP_EXCEPT 89
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
72
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 #define HAVE_ARGUMENT 90 /* Opcodes from here have an argument: */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
74
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 #define STORE_NAME 90 /* Index in name list */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
76 #define DELETE_NAME 91 /* "" */
13930
4eaa463c031a Merge UNPACK_LIST and UNPACK_TUPLE into a single UNPACK_SEQUENCE, since they
Thomas Wouters <thomas@python.org>
parents: 13256
diff changeset
77 #define UNPACK_SEQUENCE 92 /* Number of sequence items */
17597
32e7d0898eab Iterators phase 1. This comprises:
Guido van Rossum <guido@python.org>
parents: 16398
diff changeset
78 #define FOR_ITER 93
41699
e16c8e5c5ca4 Merged revisions 55225-55227,55229-55269 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41464
diff changeset
79 #define UNPACK_EX 94 /* Num items before variable part +
e16c8e5c5ca4 Merged revisions 55225-55227,55229-55269 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41464
diff changeset
80 (Num items after variable part << 8) */
13930
4eaa463c031a Merge UNPACK_LIST and UNPACK_TUPLE into a single UNPACK_SEQUENCE, since they
Thomas Wouters <thomas@python.org>
parents: 13256
diff changeset
81
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 #define STORE_ATTR 95 /* Index in name list */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
83 #define DELETE_ATTR 96 /* "" */
474
19365201dcfa Added _GLOBAL opcodes.
Guido van Rossum <guido@python.org>
parents: 409
diff changeset
84 #define STORE_GLOBAL 97 /* "" */
19365201dcfa Added _GLOBAL opcodes.
Guido van Rossum <guido@python.org>
parents: 409
diff changeset
85 #define DELETE_GLOBAL 98 /* "" */
14162
27d7d89c774b The real suport for augmented assignment: new opcodes, new PyNumber and
Thomas Wouters <thomas@python.org>
parents: 14147
diff changeset
86 #define DUP_TOPX 99 /* number of items to duplicate */
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 #define LOAD_CONST 100 /* Index in const list */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 #define LOAD_NAME 101 /* Index in name list */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 #define BUILD_TUPLE 102 /* Number of tuple items */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 #define BUILD_LIST 103 /* Number of list items */
39693
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
91 #define BUILD_SET 104 /* Number of set items */
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
92 #define BUILD_MAP 105 /* Always zero for now */
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
93 #define LOAD_ATTR 106 /* Index in name list */
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
94 #define COMPARE_OP 107 /* Comparison operator */
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
95 #define IMPORT_NAME 108 /* Index in name list */
d0b83c4630c0 SF patch 1547796 by Georg Brandl -- set literals.
Guido van Rossum <guido@python.org>
parents: 39678
diff changeset
96 #define IMPORT_FROM 109 /* Index in name list */
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
97
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
98 #define JUMP_FORWARD 110 /* Number of bytes to skip */
51853
643d8d4fc8eb http://bugs.python.org/issue4715
Jeffrey Yasskin <jyasskin@gmail.com>
parents: 50211
diff changeset
99 #define JUMP_IF_FALSE_OR_POP 111 /* Target byte offset from beginning of code */
643d8d4fc8eb http://bugs.python.org/issue4715
Jeffrey Yasskin <jyasskin@gmail.com>
parents: 50211
diff changeset
100 #define JUMP_IF_TRUE_OR_POP 112 /* "" */
643d8d4fc8eb http://bugs.python.org/issue4715
Jeffrey Yasskin <jyasskin@gmail.com>
parents: 50211
diff changeset
101 #define JUMP_ABSOLUTE 113 /* "" */
643d8d4fc8eb http://bugs.python.org/issue4715
Jeffrey Yasskin <jyasskin@gmail.com>
parents: 50211
diff changeset
102 #define POP_JUMP_IF_FALSE 114 /* "" */
643d8d4fc8eb http://bugs.python.org/issue4715
Jeffrey Yasskin <jyasskin@gmail.com>
parents: 50211
diff changeset
103 #define POP_JUMP_IF_TRUE 115 /* "" */
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
178
fb6367d5ff46 Added opcodes to load local/global variables
Guido van Rossum <guido@python.org>
parents: 145
diff changeset
105 #define LOAD_GLOBAL 116 /* Index in name list */
fb6367d5ff46 Added opcodes to load local/global variables
Guido van Rossum <guido@python.org>
parents: 145
diff changeset
106
16398
80c0b280a4f9 Allow 'continue' inside 'try' clause
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 16257
diff changeset
107 #define CONTINUE_LOOP 119 /* Start of loop (absolute) */
42309
bd6acfdb47d2 Merged revisions 56301-56442 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 41699
diff changeset
108 #define SETUP_LOOP 120 /* Target address (relative) */
69
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
109 #define SETUP_EXCEPT 121 /* "" */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
110 #define SETUP_FINALLY 122 /* "" */
cccd534f2280 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
111
1262
f820e6917f07 Changes to speed up local variables enormously, by avoiding dictionary
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
112 #define LOAD_FAST 124 /* Local variable number */
f820e6917f07 Changes to speed up local variables enormously, by avoiding dictionary
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
113 #define STORE_FAST 125 /* Local variable number */
f820e6917f07 Changes to speed up local variables enormously, by avoiding dictionary
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
114 #define DELETE_FAST 126 /* Local variable number */
f820e6917f07 Changes to speed up local variables enormously, by avoiding dictionary
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
115
2803
a2363b6e9c86 new opcodes RAISE_VARARGS, CALL_FUNCTION
Guido van Rossum <guido@python.org>
parents: 2058
diff changeset
116 #define RAISE_VARARGS 130 /* Number of raise arguments (1, 2 or 3) */
12082
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
117 /* CALL_FUNCTION_XXX opcodes defined below depend on this definition */
2803
a2363b6e9c86 new opcodes RAISE_VARARGS, CALL_FUNCTION
Guido van Rossum <guido@python.org>
parents: 2058
diff changeset
118 #define CALL_FUNCTION 131 /* #args + (#kwargs<<8) */
41226
19f7ff443718 Implement PEP 3115 -- new metaclass syntax and semantics.
Guido van Rossum <guido@python.org>
parents: 40894
diff changeset
119 #define MAKE_FUNCTION 132 /* #defaults + #kwdefaults<<8 + #annotations<<16 */
3832
039bc3e4e64e Added BUILD_SLICE opcode.
Guido van Rossum <guido@python.org>
parents: 3320
diff changeset
120 #define BUILD_SLICE 133 /* Number of items */
2803
a2363b6e9c86 new opcodes RAISE_VARARGS, CALL_FUNCTION
Guido van Rossum <guido@python.org>
parents: 2058
diff changeset
121
41226
19f7ff443718 Implement PEP 3115 -- new metaclass syntax and semantics.
Guido van Rossum <guido@python.org>
parents: 40894
diff changeset
122 #define MAKE_CLOSURE 134 /* same as MAKE_FUNCTION */
16257
fd8c7203251f PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15939
diff changeset
123 #define LOAD_CLOSURE 135 /* Load free variable from closure */
fd8c7203251f PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15939
diff changeset
124 #define LOAD_DEREF 136 /* Load and dereference from closure cell */
fd8c7203251f PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15939
diff changeset
125 #define STORE_DEREF 137 /* Store into cell */
fd8c7203251f PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 15939
diff changeset
126
12082
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
127 /* The next 3 opcodes must be contiguous and satisfy
12085
25b63367385e remove reference to CALL_FUNCTION_STAR in comment
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 12082
diff changeset
128 (CALL_FUNCTION_VAR - CALL_FUNCTION) & 3 == 1 */
12082
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
129 #define CALL_FUNCTION_VAR 140 /* #args + (#kwargs<<8) */
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
130 #define CALL_FUNCTION_KW 141 /* #args + (#kwargs<<8) */
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
131 #define CALL_FUNCTION_VAR_KW 142 /* #args + (#kwargs<<8) */
603db0d0aed1 slightly modified version of Greg Ewing's extended call syntax patch
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 8627
diff changeset
132
54889
3aaf2e065db0 Merged revisions 72912,72920,72940 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 51853
diff changeset
133 #define SETUP_WITH 143
3aaf2e065db0 Merged revisions 72912,72920,72940 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 51853
diff changeset
134
14147
21ec69a56228 Charles G. Waldman <cgw@fnal.gov>:
Fred Drake <fdrake@acm.org>
parents: 14098
diff changeset
135 /* Support for opargs more than 16 bits long */
54889
3aaf2e065db0 Merged revisions 72912,72920,72940 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 51853
diff changeset
136 #define EXTENDED_ARG 144
14147
21ec69a56228 Charles G. Waldman <cgw@fnal.gov>:
Fred Drake <fdrake@acm.org>
parents: 14098
diff changeset
137
50211
2ee4653927f7 Merged revisions 67818 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 47594
diff changeset
138 #define LIST_APPEND 145
2ee4653927f7 Merged revisions 67818 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 47594
diff changeset
139 #define SET_ADD 146
2ee4653927f7 Merged revisions 67818 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 47594
diff changeset
140 #define MAP_ADD 147
2ee4653927f7 Merged revisions 67818 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents: 47594
diff changeset
141
21609
3ba0f1b20320 Patch #494783: Rename cmp_op enumerators.
Martin v. Löwis <martin@v.loewis.de>
parents: 19051
diff changeset
142
47594
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
143 /* EXCEPT_HANDLER is a special, implicit block type which is created when
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
144 entering an except handler. It is not an opcode but we define it here
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
145 as we want it to be available to both frameobject.c and ceval.c, while
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
146 remaining private.*/
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
147 #define EXCEPT_HANDLER 257
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
148
212a1fee6bf9 #3021: Antoine Pitrou's Lexical exception handlers
Benjamin Peterson <benjamin@python.org>
parents: 44349
diff changeset
149
21609
3ba0f1b20320 Patch #494783: Rename cmp_op enumerators.
Martin v. Löwis <martin@v.loewis.de>
parents: 19051
diff changeset
150 enum cmp_op {PyCmp_LT=Py_LT, PyCmp_LE=Py_LE, PyCmp_EQ=Py_EQ, PyCmp_NE=Py_NE, PyCmp_GT=Py_GT, PyCmp_GE=Py_GE,
3ba0f1b20320 Patch #494783: Rename cmp_op enumerators.
Martin v. Löwis <martin@v.loewis.de>
parents: 19051
diff changeset
151 PyCmp_IN, PyCmp_NOT_IN, PyCmp_IS, PyCmp_IS_NOT, PyCmp_EXC_MATCH, PyCmp_BAD};
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 78
diff changeset
152
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 78
diff changeset
153 #define HAS_ARG(op) ((op) >= HAVE_ARGUMENT)
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
154
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
155 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
156 }
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
157 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1288
diff changeset
158 #endif /* !Py_OPCODE_H */