@@ -46,7 +46,7 @@ call_profile_func(_PyLegacyEventHandler *self, PyObject *arg)
46
46
}
47
47
48
48
static PyObject *
49
- sys_profile_func2 (
49
+ sys_profile_start (
50
50
_PyLegacyEventHandler * self , PyObject * const * args ,
51
51
size_t nargsf , PyObject * kwnames
52
52
) {
@@ -56,7 +56,17 @@ sys_profile_func2(
56
56
}
57
57
58
58
static PyObject *
59
- sys_profile_func3 (
59
+ sys_profile_throw (
60
+ _PyLegacyEventHandler * self , PyObject * const * args ,
61
+ size_t nargsf , PyObject * kwnames
62
+ ) {
63
+ assert (kwnames == NULL );
64
+ assert (PyVectorcall_NARGS (nargsf ) == 3 );
65
+ return call_profile_func (self , Py_None );
66
+ }
67
+
68
+ static PyObject *
69
+ sys_profile_return (
60
70
_PyLegacyEventHandler * self , PyObject * const * args ,
61
71
size_t nargsf , PyObject * kwnames
62
72
) {
@@ -72,7 +82,7 @@ sys_profile_unwind(
72
82
) {
73
83
assert (kwnames == NULL );
74
84
assert (PyVectorcall_NARGS (nargsf ) == 3 );
75
- return call_profile_func (self , Py_None );
85
+ return call_profile_func (self , NULL );
76
86
}
77
87
78
88
static PyObject *
@@ -154,7 +164,7 @@ sys_trace_exception_func(
154
164
}
155
165
156
166
static PyObject *
157
- sys_trace_func2 (
167
+ sys_trace_start (
158
168
_PyLegacyEventHandler * self , PyObject * const * args ,
159
169
size_t nargsf , PyObject * kwnames
160
170
) {
@@ -164,7 +174,7 @@ sys_trace_func2(
164
174
}
165
175
166
176
static PyObject *
167
- sys_trace_func3 (
177
+ sys_trace_throw (
168
178
_PyLegacyEventHandler * self , PyObject * const * args ,
169
179
size_t nargsf , PyObject * kwnames
170
180
) {
@@ -173,6 +183,16 @@ sys_trace_func3(
173
183
return call_trace_func (self , Py_None );
174
184
}
175
185
186
+ static PyObject *
187
+ sys_trace_unwind (
188
+ _PyLegacyEventHandler * self , PyObject * const * args ,
189
+ size_t nargsf , PyObject * kwnames
190
+ ) {
191
+ assert (kwnames == NULL );
192
+ assert (PyVectorcall_NARGS (nargsf ) == 3 );
193
+ return call_trace_func (self , NULL );
194
+ }
195
+
176
196
static PyObject *
177
197
sys_trace_return (
178
198
_PyLegacyEventHandler * self , PyObject * const * args ,
@@ -373,17 +393,17 @@ _PyEval_SetProfile(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
373
393
if (!tstate -> interp -> sys_profile_initialized ) {
374
394
tstate -> interp -> sys_profile_initialized = true;
375
395
if (set_callbacks (PY_MONITORING_SYS_PROFILE_ID ,
376
- (vectorcallfunc )sys_profile_func2 , PyTrace_CALL ,
396
+ (vectorcallfunc )sys_profile_start , PyTrace_CALL ,
377
397
PY_MONITORING_EVENT_PY_START , PY_MONITORING_EVENT_PY_RESUME )) {
378
398
return -1 ;
379
399
}
380
400
if (set_callbacks (PY_MONITORING_SYS_PROFILE_ID ,
381
- (vectorcallfunc )sys_profile_func3 , PyTrace_CALL ,
401
+ (vectorcallfunc )sys_profile_throw , PyTrace_CALL ,
382
402
PY_MONITORING_EVENT_PY_THROW , -1 )) {
383
403
return -1 ;
384
404
}
385
405
if (set_callbacks (PY_MONITORING_SYS_PROFILE_ID ,
386
- (vectorcallfunc )sys_profile_func3 , PyTrace_RETURN ,
406
+ (vectorcallfunc )sys_profile_return , PyTrace_RETURN ,
387
407
PY_MONITORING_EVENT_PY_RETURN , PY_MONITORING_EVENT_PY_YIELD )) {
388
408
return -1 ;
389
409
}
@@ -447,12 +467,12 @@ _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
447
467
if (!tstate -> interp -> sys_trace_initialized ) {
448
468
tstate -> interp -> sys_trace_initialized = true;
449
469
if (set_callbacks (PY_MONITORING_SYS_TRACE_ID ,
450
- (vectorcallfunc )sys_trace_func2 , PyTrace_CALL ,
470
+ (vectorcallfunc )sys_trace_start , PyTrace_CALL ,
451
471
PY_MONITORING_EVENT_PY_START , PY_MONITORING_EVENT_PY_RESUME )) {
452
472
return -1 ;
453
473
}
454
474
if (set_callbacks (PY_MONITORING_SYS_TRACE_ID ,
455
- (vectorcallfunc )sys_trace_func3 , PyTrace_CALL ,
475
+ (vectorcallfunc )sys_trace_throw , PyTrace_CALL ,
456
476
PY_MONITORING_EVENT_PY_THROW , -1 )) {
457
477
return -1 ;
458
478
}
@@ -477,7 +497,7 @@ _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
477
497
return -1 ;
478
498
}
479
499
if (set_callbacks (PY_MONITORING_SYS_TRACE_ID ,
480
- (vectorcallfunc )sys_trace_func3 , PyTrace_RETURN ,
500
+ (vectorcallfunc )sys_trace_unwind , PyTrace_RETURN ,
481
501
PY_MONITORING_EVENT_PY_UNWIND , -1 )) {
482
502
return -1 ;
483
503
}
0 commit comments