diff options
| author | Mark Shannon <mark@hotpy.org> | 2024-06-25 15:42:29 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-25 15:42:29 (GMT) |
| commit | 8f5a01707f27a015b52b7b55af058f8833f8f7db (patch) | |
| tree | 7f29c5e82fbfd85e4b1976fc0288a406256dd1cd /Python/optimizer_cases.c.h | |
| parent | 42b2c9d78da7ebd6bd5925a4d4c78aec3c9e78e6 (diff) | |
| download | cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.zip cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.tar.gz cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.tar.bz2 | |
GH-120982: Add stack check assertions to generated interpreter code (GH-120992)
Diffstat (limited to 'Python/optimizer_cases.c.h')
| -rw-r--r-- | Python/optimizer_cases.c.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index 7274bd2..c4f310d 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -22,6 +22,7 @@ } stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -30,6 +31,7 @@ value = GETLOCAL(oparg); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -40,6 +42,7 @@ GETLOCAL(oparg) = temp; stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -51,6 +54,7 @@ value = sym_new_const(ctx, val); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -59,11 +63,13 @@ value = stack_pointer[-1]; GETLOCAL(oparg) = value; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _POP_TOP: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -72,6 +78,7 @@ res = sym_new_null(ctx); stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -80,6 +87,7 @@ value = sym_new_not_null(ctx); stack_pointer[-2] = value; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -239,6 +247,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -268,6 +277,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -297,6 +307,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -358,6 +369,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -388,6 +400,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -418,6 +431,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -455,6 +469,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -463,6 +478,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -471,11 +487,13 @@ res = sym_new_not_null(ctx); stack_pointer[-3] = res; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_SLICE: { stack_pointer += -4; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -484,6 +502,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -492,6 +511,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -500,6 +520,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -508,6 +529,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -515,31 +537,37 @@ case _LIST_APPEND: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _SET_ADD: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_SUBSCR: { stack_pointer += -3; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_SUBSCR_LIST_INT: { stack_pointer += -3; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_SUBSCR_DICT: { stack_pointer += -3; + assert(WITHIN_STACK_BOUNDS()); break; } case _DELETE_SUBSCR: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -555,6 +583,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -563,6 +592,7 @@ _Py_UopsSymbol *res; retval = stack_pointer[-1]; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); ctx->frame->stack_pointer = stack_pointer; frame_pop(ctx); stack_pointer = ctx->frame->stack_pointer; @@ -581,6 +611,7 @@ } stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -600,6 +631,7 @@ awaitable = sym_new_not_null(ctx); stack_pointer[0] = awaitable; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -625,6 +657,7 @@ case _POP_EXCEPT: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -633,6 +666,7 @@ value = sym_new_not_null(ctx); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -641,11 +675,13 @@ bc = sym_new_not_null(ctx); stack_pointer[0] = bc; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_NAME: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -664,6 +700,7 @@ values[i] = sym_new_unknown(ctx); } stack_pointer += -1 + oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -675,6 +712,7 @@ stack_pointer[-1] = val1; stack_pointer[0] = val0; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -685,6 +723,7 @@ values[_i] = sym_new_not_null(ctx); } stack_pointer += -1 + oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -695,6 +734,7 @@ values[_i] = sym_new_not_null(ctx); } stack_pointer += -1 + oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -710,21 +750,25 @@ values[i] = sym_new_unknown(ctx); } stack_pointer += (oparg >> 8) + (oparg & 0xFF); + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_ATTR: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } case _DELETE_ATTR: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_GLOBAL: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -737,6 +781,7 @@ locals = sym_new_not_null(ctx); stack_pointer[0] = locals; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -752,6 +797,7 @@ stack_pointer[0] = res; if (oparg & 1) stack_pointer[1] = null; stack_pointer += 1 + (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -771,6 +817,7 @@ stack_pointer[0] = res; if (oparg & 1) stack_pointer[1] = null; stack_pointer += 1 + (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -782,6 +829,7 @@ stack_pointer[0] = res; if (oparg & 1) stack_pointer[1] = null; stack_pointer += 1 + (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -809,11 +857,13 @@ value = sym_new_not_null(ctx); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_DEREF: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -826,6 +876,7 @@ str = sym_new_not_null(ctx); stack_pointer[-oparg] = str; stack_pointer += 1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -834,6 +885,7 @@ tup = sym_new_not_null(ctx); stack_pointer[-oparg] = tup; stack_pointer += 1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -842,16 +894,19 @@ list = sym_new_not_null(ctx); stack_pointer[-oparg] = list; stack_pointer += 1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } case _LIST_EXTEND: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _SET_UPDATE: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -862,6 +917,7 @@ map = sym_new_not_null(ctx); stack_pointer[-oparg*2] = map; stack_pointer += 1 - oparg*2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -874,21 +930,25 @@ map = sym_new_not_null(ctx); stack_pointer[-1 - oparg] = map; stack_pointer += -oparg; + assert(WITHIN_STACK_BOUNDS()); break; } case _DICT_UPDATE: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _DICT_MERGE: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } case _MAP_ADD: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -899,6 +959,7 @@ attr = sym_new_not_null(ctx); stack_pointer[-3] = attr; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -910,6 +971,7 @@ stack_pointer[-3] = attr; stack_pointer[-2] = self_or_null; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -926,6 +988,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = self_or_null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -972,6 +1035,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1024,6 +1088,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1044,6 +1109,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1060,6 +1126,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1080,6 +1147,7 @@ stack_pointer[-1] = attr; if (oparg & 1) stack_pointer[0] = null; stack_pointer += (oparg & 1); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1093,16 +1161,19 @@ case _STORE_ATTR_INSTANCE_VALUE: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_ATTR_WITH_HINT: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } case _STORE_ATTR_SLOT: { stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1122,6 +1193,7 @@ } stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1136,6 +1208,7 @@ res = sym_new_type(ctx, &PyBool_Type); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1150,6 +1223,7 @@ res = sym_new_type(ctx, &PyBool_Type); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1164,6 +1238,7 @@ res = sym_new_type(ctx, &PyBool_Type); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1178,6 +1253,7 @@ res = sym_new_type(ctx, &PyBool_Type); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1192,6 +1268,7 @@ res = sym_new_type(ctx, &PyBool_Type); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1200,6 +1277,7 @@ b = sym_new_not_null(ctx); stack_pointer[-2] = b; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1208,6 +1286,7 @@ b = sym_new_not_null(ctx); stack_pointer[-2] = b; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1244,6 +1323,7 @@ len_o = sym_new_not_null(ctx); stack_pointer[0] = len_o; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1252,6 +1332,7 @@ attrs = sym_new_not_null(ctx); stack_pointer[-3] = attrs; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1260,6 +1341,7 @@ res = sym_new_not_null(ctx); stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1268,6 +1350,7 @@ res = sym_new_not_null(ctx); stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1276,6 +1359,7 @@ values_or_none = sym_new_not_null(ctx); stack_pointer[0] = values_or_none; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1300,6 +1384,7 @@ next = sym_new_not_null(ctx); stack_pointer[0] = next; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1320,6 +1405,7 @@ next = sym_new_not_null(ctx); stack_pointer[0] = next; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1338,6 +1424,7 @@ next = sym_new_not_null(ctx); stack_pointer[0] = next; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1359,6 +1446,7 @@ (void)iter; stack_pointer[0] = next; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1379,6 +1467,7 @@ stack_pointer[-1] = attr; stack_pointer[0] = self_or_null; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1387,6 +1476,7 @@ res = sym_new_not_null(ctx); stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1398,6 +1488,7 @@ stack_pointer[-1] = prev_exc; stack_pointer[0] = new_exc; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1421,6 +1512,7 @@ stack_pointer[-1] = attr; stack_pointer[0] = self; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1436,6 +1528,7 @@ stack_pointer[-1] = attr; stack_pointer[0] = self; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1469,6 +1562,7 @@ stack_pointer[-1] = attr; stack_pointer[0] = self; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1496,6 +1590,7 @@ ctx->done = true; stack_pointer[-2 - oparg] = (_Py_UopsSymbol *)new_frame; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1526,6 +1621,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1621,6 +1717,7 @@ } stack_pointer[-2 - oparg] = (_Py_UopsSymbol *)new_frame; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1628,6 +1725,7 @@ _Py_UOpsAbstractFrame *new_frame; new_frame = (_Py_UOpsAbstractFrame *)stack_pointer[-1]; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); ctx->frame->stack_pointer = stack_pointer; ctx->frame = new_frame; ctx->curr_frame_depth++; @@ -1664,6 +1762,7 @@ res = sym_new_not_null(ctx); stack_pointer[-3] = res; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1672,6 +1771,7 @@ res = sym_new_not_null(ctx); stack_pointer[-3] = res; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1680,6 +1780,7 @@ res = sym_new_not_null(ctx); stack_pointer[-3] = res; stack_pointer += -2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1687,6 +1788,7 @@ case _EXIT_INIT_CHECK: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1695,6 +1797,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1703,6 +1806,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1711,6 +1815,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1719,6 +1824,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1727,6 +1833,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1735,6 +1842,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1743,6 +1851,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1751,6 +1860,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1759,6 +1869,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1767,6 +1878,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2 - oparg] = res; stack_pointer += -1 - oparg; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1790,6 +1902,7 @@ func = sym_new_not_null(ctx); stack_pointer[-2] = func; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1813,6 +1926,7 @@ } stack_pointer[0] = res; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1821,6 +1935,7 @@ slice = sym_new_not_null(ctx); stack_pointer[-2 - ((oparg == 3) ? 1 : 0)] = slice; stack_pointer += -1 - ((oparg == 3) ? 1 : 0); + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1843,6 +1958,7 @@ res = sym_new_not_null(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1854,6 +1970,7 @@ top = bottom; stack_pointer[0] = top; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1881,6 +1998,7 @@ res = sym_new_unknown(ctx); stack_pointer[-2] = res; stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1917,6 +2035,7 @@ eliminate_pop_guard(this_instr, value != Py_True); } stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1929,6 +2048,7 @@ eliminate_pop_guard(this_instr, value != Py_False); } stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1945,6 +2065,7 @@ eliminate_pop_guard(this_instr, true); } stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -1961,6 +2082,7 @@ eliminate_pop_guard(this_instr, false); } stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2001,6 +2123,7 @@ value = sym_new_const(ctx, ptr); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2010,6 +2133,7 @@ value = sym_new_const(ctx, ptr); stack_pointer[0] = value; stack_pointer += 1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2029,6 +2153,7 @@ stack_pointer[0] = value; stack_pointer[1] = null; stack_pointer += 2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2041,6 +2166,7 @@ stack_pointer[0] = value; stack_pointer[1] = null; stack_pointer += 2; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2050,6 +2176,7 @@ case _INTERNAL_INCREMENT_OPT_COUNTER: { stack_pointer += -1; + assert(WITHIN_STACK_BOUNDS()); break; } @@ -2079,6 +2206,7 @@ case _ERROR_POP_N: { stack_pointer += -oparg; + assert(WITHIN_STACK_BOUNDS()); break; } |
