1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
From: esc <esc@users.noreply.github.com>
Origin: https://github.com/numba/numba/pull/8545
Date: Mon, 22 Aug 2022 15:24:29 +0200
Subject: implement new Python 3.11 opcode: RESUME
With Python 3.11 a new Bytecode has been introduced: `RESUME`.
The documentation states that:
```
RESUME has been added. It is a no-op. Performs internal tracing, debugging and optimization checks.
```
And so, this is implemented as a `NOP` (no-operation) in Numba.
---
numba/core/byteflow.py | 3 +++
numba/core/interpreter.py | 3 +++
2 files changed, 6 insertions(+)
diff --git a/numba/core/byteflow.py b/numba/core/byteflow.py
index 19b5959..5c7ebfd 100644
--- a/numba/core/byteflow.py
+++ b/numba/core/byteflow.py
@@ -287,6 +287,9 @@ class TraceRunner(object):
def op_NOP(self, state, inst):
state.append(inst)
+ def op_RESUME(self, state, inst):
+ state.append(inst)
+
def op_FORMAT_VALUE(self, state, inst):
"""
FORMAT_VALUE(flags): flags argument specifies format spec which is
diff --git a/numba/core/interpreter.py b/numba/core/interpreter.py
index 71ea498..0df5dbf 100644
--- a/numba/core/interpreter.py
+++ b/numba/core/interpreter.py
@@ -1709,6 +1709,9 @@ class Interpreter(object):
def op_NOP(self, inst):
pass
+ def op_RESUME(self, inst):
+ pass
+
def op_PRINT_ITEM(self, inst, item, printvar, res):
item = self.get(item)
printgv = ir.Global("print", print, loc=self.loc)
|