Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–3305 unchanged (3305 lines)
3306 JitOptRef res;
3307 JitOptRef a;
3308 JitOptRef c;
3309 arg = stack_pointer[-1];
3310 callable = stack_pointer[-3];
3311 res = sym_new_type(ctx, &PyLong_Type);
3312 Py_ssize_t tuple_length = sym_tuple_length(arg);
3313 if (tuple_length >= 0) {
3314 PyObject *temp = PyLong_FromSsize_t(tuple_length);
3315 if (temp == NULL) {
3316 goto error;
3317 }
3318 if (_Py_IsImmortal(temp)) {
3319 ADD_OP(_SHUFFLE_3_LOAD_CONST_INLINE_BORROW,
3320 0, (uintptr_t)temp);
3321 }
3322 res = sym_new_const(ctx, temp);
3323 CHECK_STACK_BOUNDS(-2);
3324 stack_pointer[-3] = res;
3325 stack_pointer += -2;
3326 ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
…lines 3327–4147 unchanged (821 lines)

After

…lines 1–3305 unchanged (3305 lines)
3306 JitOptRef res;
3307 JitOptRef a;
3308 JitOptRef c;
3309 arg = stack_pointer[-1];
3310 callable = stack_pointer[-3];
3311 res = sym_new_type(ctx, &PyLong_Type);
3312 Py_ssize_t length = sym_tuple_length(arg);
3313 if (length < 0 && sym_is_const(ctx, arg)) {
3314 PyObject *const_val = sym_get_const(ctx, arg);
3315 if (const_val != NULL) {
3316 if (PyUnicode_CheckExact(const_val)) {
3317 length = PyUnicode_GET_LENGTH(const_val);
3318 }
3319 else if (PyBytes_CheckExact(const_val)) {
3320 CHECK_STACK_BOUNDS(-2);
3321 stack_pointer[-3] = res;
3322 stack_pointer += -2;
3323 ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
3324 length = PyBytes_GET_SIZE(const_val);
3325 stack_pointer += 2;
3326 }
3327 }
3328 }
3329 if (length >= 0) {
3330 PyObject *temp = PyLong_FromSsize_t(length);
3331 if (temp == NULL) {
3332 goto error;
3333 }
3334 if (_Py_IsImmortal(temp)) {
3335 ADD_OP(_SHUFFLE_3_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)temp);
3336 }
3337 res = sym_new_const(ctx, temp);
3338 CHECK_STACK_BOUNDS(-2);
3339 stack_pointer[-3] = res;
3340 stack_pointer += -2;
3341 ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
…lines 3342–4162 unchanged (821 lines)

Before

translation_unit
comment "// This file is generated by Tools/cases_generator/optimizer"...
comment "// from:"
comment "// Python/optimizer_bytecodes.c"
comment "// Do not edit!"
case_statement
case "case"
identifier "_NOP"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_PERIODIC"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _CHECK_PERIODIC_AT_END is not a viable micro-op for tier "...
case_statement
case "case"
identifier "_CHECK_PERIODIC_IF_NOT_YIELD_FROM"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _QUICKEN_RESUME is not a viable micro-op for tier 2 */"
comment "/* _LOAD_BYTECODE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_RESUME_CHECK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _MONITOR_RESUME is not a viable micro-op for tier 2 */"
case_statement (+82 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+82 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+118 nodes collapsed)
case_statement (+67 nodes collapsed)
case_statement (+193 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+418 nodes collapsed)
case_statement (+232 nodes collapsed)
case_statement (+86 nodes collapsed)
case_statement (+79 nodes collapsed)
case_statement (+142 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_TOS_SLICE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+130 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+36 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+112 nodes collapsed)
case_statement (+392 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_NOS_OVERFLOWED"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_TOS_OVERFLOWED"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+522 nodes collapsed)
case_statement (+522 nodes collapsed)
case_statement (+522 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+265 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_BINARY_OP_EXTEND"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+146 nodes collapsed)
case_statement (+135 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+127 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+164 nodes collapsed)
case_statement (+282 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+127 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+214 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+124 nodes collapsed)
case_statement (+90 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+290 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+35 nodes collapsed)
comment "/* _SEND is not a viable micro-op for tier 2 */"
case_statement (+180 nodes collapsed)
case_statement (+208 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_NAME"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+124 nodes collapsed)
case_statement (+106 nodes collapsed)
case_statement (+119 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+185 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_GLOBAL"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
comment "/* _LOAD_FROM_DICT_OR_GLOBALS is not a viable micro-op for t"...
case_statement (+59 nodes collapsed)
case_statement (+67 nodes collapsed)
case_statement (+120 nodes collapsed)
case_statement (+210 nodes collapsed)
case_statement (+418 nodes collapsed)
case_statement (+341 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_FAST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_MAKE_CELL"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_DELETE_DEREF"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_COPY_FREE_VARS"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+71 nodes collapsed)
case_statement (+86 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+91 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+80 nodes collapsed)
case_statement
case "case"
identifier "_SETUP_ANNOTATIONS"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+138 nodes collapsed)
case_statement (+146 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_TYPE_VERSION_AND_LOCK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_MANAGED_OBJECT_HAS_VALUES"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+116 nodes collapsed)
case_statement (+294 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+115 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+182 nodes collapsed)
comment "/* _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN is not a viable micro-"...
case_statement
case "case"
identifier "_GUARD_DORV_NO_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+105 nodes collapsed)
case_statement (+105 nodes collapsed)
case_statement (+113 nodes collapsed)
case_statement (+470 nodes collapsed)
case_statement (+563 nodes collapsed)
case_statement (+658 nodes collapsed)
case_statement (+634 nodes collapsed)
case_statement (+141 nodes collapsed)
case_statement (+459 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+60 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
comment "/* _POP_JUMP_IF_FALSE is not a viable micro-op for tier 2 */"
comment "/* _POP_JUMP_IF_TRUE is not a viable micro-op for tier 2 */"
case_statement (+35 nodes collapsed)
comment "/* _JUMP_BACKWARD_NO_INTERRUPT is not a viable micro-op for "...
case_statement (+240 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+150 nodes collapsed)
case_statement (+35 nodes collapsed)
comment "/* _FOR_ITER is not a viable micro-op for tier 2 */"
case_statement (+59 nodes collapsed)
comment "/* _INSTRUMENTED_FOR_ITER is not a viable micro-op for tier "...
case_statement
case "case"
identifier "_ITER_CHECK_LIST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_JUMP_LIST is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_LIST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_NEXT_LIST is not a viable micro-op for tier 2 */"
case_statement (+59 nodes collapsed)
case_statement (+66 nodes collapsed)
comment "/* _ITER_JUMP_TUPLE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_TUPLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
case_statement
case "case"
identifier "_ITER_CHECK_RANGE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_JUMP_RANGE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_RANGE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+63 nodes collapsed)
case_statement (+192 nodes collapsed)
case_statement (+91 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_KEYS_VERSION"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+165 nodes collapsed)
case_statement (+165 nodes collapsed)
case_statement (+121 nodes collapsed)
case_statement (+121 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_ATTR_METHOD_LAZY_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+165 nodes collapsed)
case_statement (+120 nodes collapsed)
comment "/* _DO_CALL is not a viable micro-op for tier 2 */"
comment "/* _MONITOR_CALL is not a viable micro-op for tier 2 */"
case_statement (+147 nodes collapsed)
case_statement (+145 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_FUNCTION_VERSION_INLINE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+157 nodes collapsed)
case_statement
case "case"
identifier "_EXPAND_METHOD"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+68 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+92 nodes collapsed)
case_statement (+42 nodes collapsed)
case_statement (+178 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_STACK_SPACE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_RECURSION_REMAINING"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+293 nodes collapsed)
case_statement (+253 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+158 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+143 nodes collapsed)
case_statement (+296 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+232 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_CALL_LEN"
: ":"
compound_statement
{ "{"
declaration
type_identifier "JitOptRef"
identifier "arg"
; ";"
declaration
type_identifier "JitOptRef"
identifier "callable"
; ";"
declaration
type_identifier "JitOptRef"
identifier "res"
; ";"
declaration
type_identifier "JitOptRef"
identifier "a"
; ";"
declaration
type_identifier "JitOptRef"
identifier "c"
; ";"
expression_statement
assignment_expression
identifier "arg"
= "="
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-1"
] "]"
; ";"
expression_statement
assignment_expression
identifier "callable"
= "="
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
; ";"
expression_statement
assignment_expression
identifier "res"
= "="
call_expression
identifier "sym_new_type"
argument_list
( "("
identifier "ctx"
, ","
pointer_expression
& "&"
identifier "PyLong_Type"
) ")"
; ";"
declaration
type_identifier "Py_ssize_t"
init_declarator
identifier "tuple_length"
= "="
call_expression
identifier "sym_tuple_length"
argument_list
( "("
identifier "arg"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "tuple_length"
>= ">="
number_literal "0"
) ")"
compound_statement
{ "{"
declaration
type_identifier "PyObject"
init_declarator
pointer_declarator
* "*"
identifier "temp"
= "="
call_expression
identifier "PyLong_FromSsize_t"
argument_list
( "("
identifier "tuple_length"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "temp"
== "=="
null
NULL "NULL"
) ")"
compound_statement
{ "{"
goto_statement
goto "goto"
statement_identifier "error"
; ";"
} "}"
if_statement
if "if"
parenthesized_expression
( "("
call_expression
identifier "_Py_IsImmortal"
argument_list
( "("
identifier "temp"
) ")"
) ")"
compound_statement
{ "{"
expression_statement
call_expression
identifier "ADD_OP"
argument_list
( "("
identifier "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW"
, ","
number_literal "0"
, ","
cast_expression
( "("
type_descriptor
primitive_type "uintptr_t"
) ")"
identifier "temp"
) ")"
; ";"
} "}"
expression_statement
assignment_expression
identifier "res"
= "="
call_expression
identifier "sym_new_const"
argument_list
( "("
identifier "ctx"
, ","
identifier "temp"
) ")"
; ";"
expression_statement
call_expression
identifier "CHECK_STACK_BOUNDS"
argument_list
( "("
number_literal "-2"
) ")"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
= "="
identifier "res"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "-2"
; ";"
expression_statement
call_expression
identifier "ASSERT_WITHIN_STACK_BOUNDS"
argument_list
( "("
identifier "__FILE__"
, ","
identifier "__LINE__"
) ")"
; ";"
expression_statement
call_expression
identifier "Py_DECREF"
argument_list
( "("
identifier "temp"
) ")"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "2"
; ";"
} "}"
expression_statement
assignment_expression
identifier "a"
= "="
identifier "arg"
; ";"
expression_statement
assignment_expression
identifier "c"
= "="
identifier "callable"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
= "="
identifier "res"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-2"
] "]"
= "="
identifier "a"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-1"
] "]"
= "="
identifier "c"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement (+84 nodes collapsed)
case_statement (+216 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+244 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
comment "/* _MONITOR_CALL_KW is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_MAYBE_EXPAND_METHOD_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _DO_CALL_KW is not a viable micro-op for tier 2 */"
case_statement (+147 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_FUNCTION_VERSION_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_METHOD_VERSION_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_EXPAND_METHOD_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+68 nodes collapsed)
case_statement
case "case"
identifier "_MAKE_CALLARGS_A_TUPLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _DO_CALL_FUNCTION_EX is not a viable micro-op for tier 2 "...
case_statement
case "case"
identifier "_CHECK_IS_PY_CALLABLE_EX"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+138 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE_EX"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+163 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+88 nodes collapsed)
case_statement (+807 nodes collapsed)
case_statement (+106 nodes collapsed)
comment "/* _INSTRUMENTED_LINE is not a viable micro-op for tier 2 */"
comment "/* _INSTRUMENTED_INSTRUCTION is not a viable micro-op for ti"...
comment "/* _INSTRUMENTED_JUMP_FORWARD is not a viable micro-op for t"...
comment "/* _MONITOR_JUMP_BACKWARD is not a viable micro-op for tier "...
comment "/* _INSTRUMENTED_NOT_TAKEN is not a viable micro-op for tier"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_TRUE is not a viable micro-op f"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_FALSE is not a viable micro-op "...
comment "/* _INSTRUMENTED_POP_JUMP_IF_NONE is not a viable micro-op f"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_NOT_NONE is not a viable micro-"...
case_statement (+178 nodes collapsed)
case_statement (+178 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+168 nodes collapsed)
case_statement (+156 nodes collapsed)
case_statement
case "case"
identifier "_JUMP_TO_TOP"
: ":"
compound_statement
{ "{"
expression_statement
assignment_expression
field_expression
identifier "ctx"
-> "->"
field_identifier "done"
= "="
true "true"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_SET_IP"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+40 nodes collapsed)
case_statement
case "case"
identifier "_SAVE_RETURN_OFFSET"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+46 nodes collapsed)
case_statement
case "case"
identifier "_DYNAMIC_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_VALIDITY"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+80 nodes collapsed)
case_statement (+56 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+61 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+109 nodes collapsed)
case_statement (+119 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_START_EXECUTOR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_MAKE_WARM"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_FATAL_ERROR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_DEOPT"
: ":"
compound_statement
{ "{"
expression_statement
assignment_expression
field_expression
identifier "ctx"
-> "->"
field_identifier "done"
= "="
true "true"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_HANDLE_PENDING_AND_DEOPT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_ERROR_POP_N"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_SPILL_OR_RELOAD"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_TIER2_RESUME_CHECK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_COLD_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_COLD_DYNAMIC_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP__PUSH_FRAME"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_YIELD_VALUE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_RETURN_VALUE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_RETURN_GENERATOR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _TRACE_RECORD is not a viable micro-op for tier 2 */"

After

translation_unit
comment "// This file is generated by Tools/cases_generator/optimizer"...
comment "// from:"
comment "// Python/optimizer_bytecodes.c"
comment "// Do not edit!"
case_statement
case "case"
identifier "_NOP"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_PERIODIC"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _CHECK_PERIODIC_AT_END is not a viable micro-op for tier "...
case_statement
case "case"
identifier "_CHECK_PERIODIC_IF_NOT_YIELD_FROM"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _QUICKEN_RESUME is not a viable micro-op for tier 2 */"
comment "/* _LOAD_BYTECODE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_RESUME_CHECK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _MONITOR_RESUME is not a viable micro-op for tier 2 */"
case_statement (+82 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+82 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+118 nodes collapsed)
case_statement (+67 nodes collapsed)
case_statement (+193 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+74 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+418 nodes collapsed)
case_statement (+232 nodes collapsed)
case_statement (+86 nodes collapsed)
case_statement (+79 nodes collapsed)
case_statement (+142 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_TOS_SLICE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+130 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+36 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+112 nodes collapsed)
case_statement (+392 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_NOS_OVERFLOWED"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_TOS_OVERFLOWED"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+522 nodes collapsed)
case_statement (+522 nodes collapsed)
case_statement (+522 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+265 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_BINARY_OP_EXTEND"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+146 nodes collapsed)
case_statement (+135 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+127 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+164 nodes collapsed)
case_statement (+282 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+127 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+214 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+124 nodes collapsed)
case_statement (+90 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+290 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+35 nodes collapsed)
comment "/* _SEND is not a viable micro-op for tier 2 */"
case_statement (+180 nodes collapsed)
case_statement (+208 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_NAME"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+124 nodes collapsed)
case_statement (+106 nodes collapsed)
case_statement (+119 nodes collapsed)
case_statement (+94 nodes collapsed)
case_statement (+185 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_GLOBAL"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
comment "/* _LOAD_FROM_DICT_OR_GLOBALS is not a viable micro-op for t"...
case_statement (+59 nodes collapsed)
case_statement (+67 nodes collapsed)
case_statement (+120 nodes collapsed)
case_statement (+210 nodes collapsed)
case_statement (+418 nodes collapsed)
case_statement (+341 nodes collapsed)
case_statement
case "case"
identifier "_DELETE_FAST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_MAKE_CELL"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_DELETE_DEREF"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement
case "case"
identifier "_COPY_FREE_VARS"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+71 nodes collapsed)
case_statement (+86 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+91 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+80 nodes collapsed)
case_statement
case "case"
identifier "_SETUP_ANNOTATIONS"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+138 nodes collapsed)
case_statement (+146 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_TYPE_VERSION_AND_LOCK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_MANAGED_OBJECT_HAS_VALUES"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+116 nodes collapsed)
case_statement (+294 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+116 nodes collapsed)
case_statement (+115 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+182 nodes collapsed)
comment "/* _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN is not a viable micro-"...
case_statement
case "case"
identifier "_GUARD_DORV_NO_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+105 nodes collapsed)
case_statement (+105 nodes collapsed)
case_statement (+113 nodes collapsed)
case_statement (+470 nodes collapsed)
case_statement (+563 nodes collapsed)
case_statement (+658 nodes collapsed)
case_statement (+634 nodes collapsed)
case_statement (+141 nodes collapsed)
case_statement (+459 nodes collapsed)
case_statement (+66 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+60 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
comment "/* _POP_JUMP_IF_FALSE is not a viable micro-op for tier 2 */"
comment "/* _POP_JUMP_IF_TRUE is not a viable micro-op for tier 2 */"
case_statement (+35 nodes collapsed)
comment "/* _JUMP_BACKWARD_NO_INTERRUPT is not a viable micro-op for "...
case_statement (+240 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+150 nodes collapsed)
case_statement (+35 nodes collapsed)
comment "/* _FOR_ITER is not a viable micro-op for tier 2 */"
case_statement (+59 nodes collapsed)
comment "/* _INSTRUMENTED_FOR_ITER is not a viable micro-op for tier "...
case_statement
case "case"
identifier "_ITER_CHECK_LIST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_JUMP_LIST is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_LIST"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_NEXT_LIST is not a viable micro-op for tier 2 */"
case_statement (+59 nodes collapsed)
case_statement (+66 nodes collapsed)
comment "/* _ITER_JUMP_TUPLE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_TUPLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
case_statement
case "case"
identifier "_ITER_CHECK_RANGE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _ITER_JUMP_RANGE is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_GUARD_NOT_EXHAUSTED_RANGE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+63 nodes collapsed)
case_statement (+192 nodes collapsed)
case_statement (+91 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_GUARD_DORV_VALUES_INST_ATTR_FROM_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_KEYS_VERSION"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+165 nodes collapsed)
case_statement (+165 nodes collapsed)
case_statement (+121 nodes collapsed)
case_statement (+121 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_ATTR_METHOD_LAZY_DICT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+165 nodes collapsed)
case_statement (+120 nodes collapsed)
comment "/* _DO_CALL is not a viable micro-op for tier 2 */"
comment "/* _MONITOR_CALL is not a viable micro-op for tier 2 */"
case_statement (+147 nodes collapsed)
case_statement (+145 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_FUNCTION_VERSION_INLINE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+157 nodes collapsed)
case_statement
case "case"
identifier "_EXPAND_METHOD"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+68 nodes collapsed)
case_statement (+64 nodes collapsed)
case_statement (+92 nodes collapsed)
case_statement (+42 nodes collapsed)
case_statement (+178 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_STACK_SPACE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_RECURSION_REMAINING"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+293 nodes collapsed)
case_statement (+253 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+58 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+158 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+83 nodes collapsed)
case_statement (+131 nodes collapsed)
case_statement (+143 nodes collapsed)
case_statement (+296 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+232 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_CALL_LEN"
: ":"
compound_statement
{ "{"
declaration
type_identifier "JitOptRef"
identifier "arg"
; ";"
declaration
type_identifier "JitOptRef"
identifier "callable"
; ";"
declaration
type_identifier "JitOptRef"
identifier "res"
; ";"
declaration
type_identifier "JitOptRef"
identifier "a"
; ";"
declaration
type_identifier "JitOptRef"
identifier "c"
; ";"
expression_statement
assignment_expression
identifier "arg"
= "="
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-1"
] "]"
; ";"
expression_statement
assignment_expression
identifier "callable"
= "="
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
; ";"
expression_statement
assignment_expression
identifier "res"
= "="
call_expression
identifier "sym_new_type"
argument_list
( "("
identifier "ctx"
, ","
pointer_expression
& "&"
identifier "PyLong_Type"
) ")"
; ";"
declaration
type_identifier "Py_ssize_t"
init_declarator
identifier "length"
= "="
call_expression
identifier "sym_tuple_length"
argument_list
( "("
identifier "arg"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "length"
< "<"
number_literal "0"
&& "&&"
call_expression
identifier "sym_is_const"
argument_list
( "("
identifier "ctx"
, ","
identifier "arg"
) ")"
) ")"
compound_statement
{ "{"
declaration
type_identifier "PyObject"
init_declarator
pointer_declarator
* "*"
identifier "const_val"
= "="
call_expression
identifier "sym_get_const"
argument_list
( "("
identifier "ctx"
, ","
identifier "arg"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "const_val"
!= "!="
null
NULL "NULL"
) ")"
compound_statement
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
call_expression
identifier "PyUnicode_CheckExact"
argument_list
( "("
identifier "const_val"
) ")"
) ")"
compound_statement
{ "{"
expression_statement
assignment_expression
identifier "length"
= "="
call_expression
identifier "PyUnicode_GET_LENGTH"
argument_list
( "("
identifier "const_val"
) ")"
; ";"
} "}"
else_clause
else "else"
if_statement
if "if"
parenthesized_expression
( "("
call_expression
identifier "PyBytes_CheckExact"
argument_list
( "("
identifier "const_val"
) ")"
) ")"
compound_statement
{ "{"
expression_statement
call_expression
identifier "CHECK_STACK_BOUNDS"
argument_list
( "("
number_literal "-2"
) ")"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
= "="
identifier "res"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "-2"
; ";"
expression_statement
call_expression
identifier "ASSERT_WITHIN_STACK_BOUNDS"
argument_list
( "("
identifier "__FILE__"
, ","
identifier "__LINE__"
) ")"
; ";"
expression_statement
assignment_expression
identifier "length"
= "="
call_expression
identifier "PyBytes_GET_SIZE"
argument_list
( "("
identifier "const_val"
) ")"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "2"
; ";"
} "}"
} "}"
} "}"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "length"
>= ">="
number_literal "0"
) ")"
compound_statement
{ "{"
declaration
type_identifier "PyObject"
init_declarator
pointer_declarator
* "*"
identifier "temp"
= "="
call_expression
identifier "PyLong_FromSsize_t"
argument_list
( "("
identifier "length"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "temp"
== "=="
null
NULL "NULL"
) ")"
compound_statement
{ "{"
goto_statement
goto "goto"
statement_identifier "error"
; ";"
} "}"
if_statement
if "if"
parenthesized_expression
( "("
call_expression
identifier "_Py_IsImmortal"
argument_list
( "("
identifier "temp"
) ")"
) ")"
compound_statement
{ "{"
expression_statement
call_expression
identifier "ADD_OP"
argument_list
( "("
identifier "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW"
, ","
number_literal "0"
, ","
cast_expression
( "("
type_descriptor
primitive_type "uintptr_t"
) ")"
identifier "temp"
) ")"
; ";"
} "}"
expression_statement
assignment_expression
identifier "res"
= "="
call_expression
identifier "sym_new_const"
argument_list
( "("
identifier "ctx"
, ","
identifier "temp"
) ")"
; ";"
expression_statement
call_expression
identifier "CHECK_STACK_BOUNDS"
argument_list
( "("
number_literal "-2"
) ")"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
= "="
identifier "res"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "-2"
; ";"
expression_statement
call_expression
identifier "ASSERT_WITHIN_STACK_BOUNDS"
argument_list
( "("
identifier "__FILE__"
, ","
identifier "__LINE__"
) ")"
; ";"
expression_statement
call_expression
identifier "Py_DECREF"
argument_list
( "("
identifier "temp"
) ")"
; ";"
expression_statement
assignment_expression
identifier "stack_pointer"
+= "+="
number_literal "2"
; ";"
} "}"
expression_statement
assignment_expression
identifier "a"
= "="
identifier "arg"
; ";"
expression_statement
assignment_expression
identifier "c"
= "="
identifier "callable"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-3"
] "]"
= "="
identifier "res"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-2"
] "]"
= "="
identifier "a"
; ";"
expression_statement
assignment_expression
subscript_expression
identifier "stack_pointer"
[ "["
number_literal "-1"
] "]"
= "="
identifier "c"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement (+84 nodes collapsed)
case_statement (+216 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+130 nodes collapsed)
case_statement (+244 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
case_statement (+68 nodes collapsed)
comment "/* _MONITOR_CALL_KW is not a viable micro-op for tier 2 */"
case_statement
case "case"
identifier "_MAYBE_EXPAND_METHOD_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _DO_CALL_KW is not a viable micro-op for tier 2 */"
case_statement (+147 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_FUNCTION_VERSION_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_METHOD_VERSION_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_EXPAND_METHOD_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE_KW"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+68 nodes collapsed)
case_statement
case "case"
identifier "_MAKE_CALLARGS_A_TUPLE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _DO_CALL_FUNCTION_EX is not a viable micro-op for tier 2 "...
case_statement
case "case"
identifier "_CHECK_IS_PY_CALLABLE_EX"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+138 nodes collapsed)
case_statement
case "case"
identifier "_CHECK_IS_NOT_PY_CALLABLE_EX"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+59 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+163 nodes collapsed)
case_statement (+71 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+35 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+88 nodes collapsed)
case_statement (+807 nodes collapsed)
case_statement (+106 nodes collapsed)
comment "/* _INSTRUMENTED_LINE is not a viable micro-op for tier 2 */"
comment "/* _INSTRUMENTED_INSTRUCTION is not a viable micro-op for ti"...
comment "/* _INSTRUMENTED_JUMP_FORWARD is not a viable micro-op for t"...
comment "/* _MONITOR_JUMP_BACKWARD is not a viable micro-op for tier "...
comment "/* _INSTRUMENTED_NOT_TAKEN is not a viable micro-op for tier"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_TRUE is not a viable micro-op f"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_FALSE is not a viable micro-op "...
comment "/* _INSTRUMENTED_POP_JUMP_IF_NONE is not a viable micro-op f"...
comment "/* _INSTRUMENTED_POP_JUMP_IF_NOT_NONE is not a viable micro-"...
case_statement (+178 nodes collapsed)
case_statement (+178 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+168 nodes collapsed)
case_statement (+156 nodes collapsed)
case_statement
case "case"
identifier "_JUMP_TO_TOP"
: ":"
compound_statement
{ "{"
expression_statement
assignment_expression
field_expression
identifier "ctx"
-> "->"
field_identifier "done"
= "="
true "true"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_SET_IP"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+40 nodes collapsed)
case_statement
case "case"
identifier "_SAVE_RETURN_OFFSET"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+46 nodes collapsed)
case_statement
case "case"
identifier "_DYNAMIC_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_CHECK_VALIDITY"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement (+80 nodes collapsed)
case_statement (+56 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+34 nodes collapsed)
case_statement (+61 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+59 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+109 nodes collapsed)
case_statement (+119 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+85 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement (+84 nodes collapsed)
case_statement
case "case"
identifier "_START_EXECUTOR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_MAKE_WARM"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_FATAL_ERROR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_DEOPT"
: ":"
compound_statement
{ "{"
expression_statement
assignment_expression
field_expression
identifier "ctx"
-> "->"
field_identifier "done"
= "="
true "true"
; ";"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_HANDLE_PENDING_AND_DEOPT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_ERROR_POP_N"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_SPILL_OR_RELOAD"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_TIER2_RESUME_CHECK"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_COLD_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_COLD_DYNAMIC_EXIT"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP__PUSH_FRAME"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_YIELD_VALUE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_RETURN_VALUE"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
case_statement
case "case"
identifier "_GUARD_IP_RETURN_GENERATOR"
: ":"
compound_statement
{ "{"
break_statement
break "break"
; ";"
} "}"
comment "/* _TRACE_RECORD is not a viable micro-op for tier 2 */"