From 3cd1a5d3ec487e23e3d976e7dd235329f04cfc73 Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Tue, 14 Jun 2022 11:09:30 +0100 Subject: GH-93516: Store offset of first traceable instruction in code object (GH-93769) --- Objects/codeobject.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Objects/codeobject.c') diff --git a/Objects/codeobject.c b/Objects/codeobject.c index 2a2f132a6e..8ac4e9914f 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -339,6 +339,12 @@ init_code(PyCodeObject *co, struct _PyCodeConstructor *con) co->co_warmup = QUICKENING_INITIAL_WARMUP_VALUE; memcpy(_PyCode_CODE(co), PyBytes_AS_STRING(con->code), PyBytes_GET_SIZE(con->code)); + int entry_point = 0; + while (entry_point < Py_SIZE(co) && + _Py_OPCODE(_PyCode_CODE(co)[entry_point]) != RESUME) { + entry_point++; + } + co->_co_firsttraceable = entry_point; } static int -- cgit v1.2.1