@@ -351,76 +351,51 @@ dummy_func(
351
351
JUMPBY (INLINE_CACHE_ENTRIES_BINARY_OP + 1 );
352
352
}
353
353
354
- // stack effect: (__0 -- )
355
- inst (BINARY_OP_ADD_FLOAT ) {
354
+ inst (BINARY_OP_ADD_FLOAT , (left , right -- sum )) {
356
355
assert (cframe .use_tracing == 0 );
357
- PyObject * left = SECOND ();
358
- PyObject * right = TOP ();
359
356
DEOPT_IF (!PyFloat_CheckExact (left ), BINARY_OP );
360
357
DEOPT_IF (Py_TYPE (right ) != Py_TYPE (left ), BINARY_OP );
361
358
STAT_INC (BINARY_OP , hit );
362
359
double dsum = ((PyFloatObject * )left )-> ob_fval +
363
360
((PyFloatObject * )right )-> ob_fval ;
364
- PyObject * sum = PyFloat_FromDouble (dsum );
365
- SET_SECOND (sum );
361
+ sum = PyFloat_FromDouble (dsum );
366
362
_Py_DECREF_SPECIALIZED (right , _PyFloat_ExactDealloc );
367
363
_Py_DECREF_SPECIALIZED (left , _PyFloat_ExactDealloc );
368
- STACK_SHRINK (1 );
369
- if (sum == NULL ) {
370
- goto error ;
371
- }
364
+ ERROR_IF (sum == NULL , error );
372
365
JUMPBY (INLINE_CACHE_ENTRIES_BINARY_OP );
373
366
}
374
367
375
- // stack effect: (__0 -- )
376
- inst (BINARY_OP_ADD_INT ) {
368
+ inst (BINARY_OP_ADD_INT , (left , right -- sum )) {
377
369
assert (cframe .use_tracing == 0 );
378
- PyObject * left = SECOND ();
379
- PyObject * right = TOP ();
380
370
DEOPT_IF (!PyLong_CheckExact (left ), BINARY_OP );
381
371
DEOPT_IF (Py_TYPE (right ) != Py_TYPE (left ), BINARY_OP );
382
372
STAT_INC (BINARY_OP , hit );
383
- PyObject * sum = _PyLong_Add ((PyLongObject * )left , (PyLongObject * )right );
384
- SET_SECOND (sum );
373
+ sum = _PyLong_Add ((PyLongObject * )left , (PyLongObject * )right );
385
374
_Py_DECREF_SPECIALIZED (right , (destructor )PyObject_Free );
386
375
_Py_DECREF_SPECIALIZED (left , (destructor )PyObject_Free );
387
- STACK_SHRINK (1 );
388
- if (sum == NULL ) {
389
- goto error ;
390
- }
376
+ ERROR_IF (sum == NULL , error );
391
377
JUMPBY (INLINE_CACHE_ENTRIES_BINARY_OP );
392
378
}
393
379
394
- // stack effect: (__0 -- )
395
- inst (BINARY_SUBSCR ) {
396
- PyObject * sub = POP ();
397
- PyObject * container = TOP ();
398
- PyObject * res = PyObject_GetItem (container , sub );
380
+ inst (BINARY_SUBSCR , (container , sub -- res )) {
381
+ res = PyObject_GetItem (container , sub );
399
382
Py_DECREF (container );
400
383
Py_DECREF (sub );
401
- SET_TOP (res );
402
- if (res == NULL )
403
- goto error ;
384
+ ERROR_IF (res == NULL , error );
404
385
JUMPBY (INLINE_CACHE_ENTRIES_BINARY_SUBSCR );
405
386
}
406
387
407
- // stack effect: (__0, __1 -- )
408
- inst (BINARY_SLICE ) {
409
- PyObject * stop = POP ();
410
- PyObject * start = POP ();
411
- PyObject * container = TOP ();
412
-
388
+ inst (BINARY_SLICE , (container , start , stop -- res )) {
413
389
PyObject * slice = _PyBuildSlice_ConsumeRefs (start , stop );
414
390
if (slice == NULL ) {
415
- goto error ;
391
+ res = NULL ;
416
392
}
417
- PyObject * res = PyObject_GetItem (container , slice );
418
- Py_DECREF (slice );
419
- if (res == NULL ) {
420
- goto error ;
393
+ else {
394
+ PyObject * res = PyObject_GetItem (container , slice );
395
+ Py_DECREF (slice );
421
396
}
422
- SET_TOP (res );
423
397
Py_DECREF (container );
398
+ ERROR_IF (res == NULL , error );
424
399
}
425
400
426
401
// stack effect: (__0, __1, __2, __3 -- )
0 commit comments