Kaydet (Commit) 76f7f4d9 authored tarafından Benjamin Peterson's avatar Benjamin Peterson

excise the remains of STOP_CODE, which hasn't done anything useful for years

üst 42d1320c
...@@ -171,11 +171,6 @@ The Python compiler currently generates the following bytecode instructions. ...@@ -171,11 +171,6 @@ The Python compiler currently generates the following bytecode instructions.
**General instructions** **General instructions**
.. opcode:: STOP_CODE
Indicates end-of-code to the compiler, not used by the interpreter.
.. opcode:: NOP .. opcode:: NOP
Do nothing code. Used as a placeholder by the bytecode optimizer. Do nothing code. Used as a placeholder by the bytecode optimizer.
......
...@@ -7,7 +7,6 @@ extern "C" { ...@@ -7,7 +7,6 @@ extern "C" {
/* Instruction opcodes for compiled code */ /* Instruction opcodes for compiled code */
#define STOP_CODE 0
#define POP_TOP 1 #define POP_TOP 1
#define ROT_TWO 2 #define ROT_TWO 2
#define ROT_THREE 3 #define ROT_THREE 3
......
...@@ -43,7 +43,6 @@ def jabs_op(name, op): ...@@ -43,7 +43,6 @@ def jabs_op(name, op):
# Instruction opcodes for compiled code # Instruction opcodes for compiled code
# Blank lines correspond to available opcodes # Blank lines correspond to available opcodes
def_op('STOP_CODE', 0)
def_op('POP_TOP', 1) def_op('POP_TOP', 1)
def_op('ROT_TWO', 2) def_op('ROT_TWO', 2)
def_op('ROT_THREE', 3) def_op('ROT_THREE', 3)
......
...@@ -200,7 +200,7 @@ class DisTests(unittest.TestCase): ...@@ -200,7 +200,7 @@ class DisTests(unittest.TestCase):
lines))) lines)))
def test_opmap(self): def test_opmap(self):
self.assertEqual(dis.opmap["STOP_CODE"], 0) self.assertEqual(dis.opmap["NOP"], 9)
self.assertIn(dis.opmap["LOAD_CONST"], dis.hasconst) self.assertIn(dis.opmap["LOAD_CONST"], dis.hasconst)
self.assertIn(dis.opmap["STORE_NAME"], dis.hasname) self.assertIn(dis.opmap["STORE_NAME"], dis.hasname)
......
...@@ -1347,8 +1347,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) ...@@ -1347,8 +1347,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
x to NULL, err to nonzero, or why to anything but WHY_NOT, x to NULL, err to nonzero, or why to anything but WHY_NOT,
and that no operation that succeeds does this! */ and that no operation that succeeds does this! */
/* case STOP_CODE: this is an error! */
TARGET(NOP) TARGET(NOP)
FAST_DISPATCH(); FAST_DISPATCH();
......
...@@ -23,9 +23,6 @@ def write_contents(f): ...@@ -23,9 +23,6 @@ def write_contents(f):
opcode = find_module("opcode") opcode = find_module("opcode")
targets = ['_unknown_opcode'] * 256 targets = ['_unknown_opcode'] * 256
for opname, op in opcode.opmap.items(): for opname, op in opcode.opmap.items():
if opname == "STOP_CODE":
# XXX opcode not implemented
continue
targets[op] = "TARGET_%s" % opname targets[op] = "TARGET_%s" % opname
f.write("static void *opcode_targets[256] = {\n") f.write("static void *opcode_targets[256] = {\n")
f.write(",\n".join([" &&%s" % s for s in targets])) f.write(",\n".join([" &&%s" % s for s in targets]))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment