summaryrefslogtreecommitdiffstats
path: root/Include/cpython
diff options
context:
space:
mode:
authorBrandt Bucher <brandtbucher@microsoft.com>2024-01-12 11:58:23 (GMT)
committerGitHub <noreply@github.com>2024-01-12 11:58:23 (GMT)
commit30e6cbdba22d946dacc3f2e19c884b2e1891d58c (patch)
tree50ef18098a02e61c079b8a6c4477496b27b06adf /Include/cpython
parent29e2839cd6af5c90cfd7abe800b045b6dcee0c05 (diff)
downloadcpython-30e6cbdba22d946dacc3f2e19c884b2e1891d58c.zip
cpython-30e6cbdba22d946dacc3f2e19c884b2e1891d58c.tar.gz
cpython-30e6cbdba22d946dacc3f2e19c884b2e1891d58c.tar.bz2
GH-113860: Get rid of `_PyUOpExecutorObject` (GH-113954)
Diffstat (limited to 'Include/cpython')
-rw-r--r--Include/cpython/optimizer.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Include/cpython/optimizer.h b/Include/cpython/optimizer.h
index 0e7bc9f..96e829f 100644
--- a/Include/cpython/optimizer.h
+++ b/Include/cpython/optimizer.h
@@ -29,10 +29,17 @@ typedef struct {
_PyExecutorLinkListNode links;
} _PyVMData;
+typedef struct {
+ uint16_t opcode;
+ uint16_t oparg;
+ uint32_t target;
+ uint64_t operand; // A cache entry
+} _PyUOpInstruction;
+
typedef struct _PyExecutorObject {
PyObject_VAR_HEAD
_PyVMData vm_data; /* Used by the VM, but opaque to the optimizer */
- /* Data needed by the executor goes here, but is opaque to the VM */
+ _PyUOpInstruction trace[1];
} _PyExecutorObject;
typedef struct _PyOptimizerObject _PyOptimizerObject;