Construct CallCompiledObjectMethodPosArgsConstant6

Performance Diagrams

Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)21030026088.11538461538461257.0CPython 2.768522701240.03846153846155423.5971122532867Nuitka (master)68520127391.96153846153845423.6001368572506Nuitka (develop)68520127543.8846153846154423.6001368572506Nuitka (factory)Construct CallCompiledObjectMethodPosArgsConstant6Ticks Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000CPython 3.8Nuitka (master)Nuitka (develop)Nuitka (factory)18620222088.11538461538461257.0CPython 3.873726943240.03846153846155406.26981716746945Nuitka (master)73726947391.96153846153845406.2698118589316Nuitka (develop)73726979543.8846153846154406.26976939062854Nuitka (factory)Construct CallCompiledObjectMethodPosArgsConstant6Ticks

Source Code with Construct

from __future__ import print_function

class C(object):
    def compiled_method(self, a,b,c,d,e,f):
        return a, b, c, d, e, f

def calledRepeatedly():
    inst = C()

    # This is supposed to make a call to a compiled method, which is
    # being optimized separately.
# construct_begin
    inst.compiled_method("some", "random", "values", "to", "check", "call")
    inst.compiled_method("some", "other", "values", "to", "check", "call")
    inst.compiled_method("some", "new", "values", "to", "check", "call")

# construct_alternative



import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Source Code without Construct

from __future__ import print_function

class C(object):
    def compiled_method(self, a,b,c,d,e,f):
        return a, b, c, d, e, f

def calledRepeatedly():
    inst = C()

    # This is supposed to make a call to a compiled method, which is
    # being optimized separately.
# construct_begin




# construct_alternative
    pass
# construct_end

import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Context Diff of Source Code


Construct
Baseline
27     inst = C() 27     inst = C()
28 28
29     # This is supposed to make a call to a compiled method, which is 29     # This is supposed to make a call to a compiled method, which is
30     # being optimized separately. 30     # being optimized separately.
31 # construct_begin 31 # construct_begin
n 32     inst.compiled_method("some", "random", "values", "to", "check", "call") n 32  
33     inst.compiled_method("some", "other", "values", "to", "check", "call") 33  
34     inst.compiled_method("some", "new", "values", "to", "check", "call") 34  
35 35
36 # construct_alternative 36 # construct_alternative
t 37   t 37     pass
38   38 # construct_end
39 39
40 import itertools 40 import itertools
41 for x in itertools.repeat(None, 50000): 41 for x in itertools.repeat(None, 50000):
42     calledRepeatedly() 42     calledRepeatedly()
43 43

Context Diff of Generated Code


Construct
Baseline
31 31
32 PyObject *module___main__; 32 PyObject *module___main__;
33 PyDictObject *moduledict___main__; 33 PyDictObject *moduledict___main__;
34 34
35 /* The declarations of module constants used, if any. */ 35 /* The declarations of module constants used, if any. */
n 36 static PyObject *mod_consts[37]; n 36 static PyObject *mod_consts[34];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[37]; n 38 static Py_hash_t mod_consts_hash[34];
39 #endif 39 #endif
40 40
41 static PyObject *module_filename_obj = NULL; 41 static PyObject *module_filename_obj = NULL;
42 42
43 /* Indicator if this modules private constants were created yet. */ 43 /* Indicator if this modules private constants were created yet. */
48     if (constants_created == false) { 48     if (constants_created == false) {
49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__")); 49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__"));
50         constants_created = true; 50         constants_created = true;
51 51
52 #ifndef __NUITKA_NO_ASSERT__ 52 #ifndef __NUITKA_NO_ASSERT__
n 53         for(int i = 0; i < 37; i++) { n 53         for(int i = 0; i < 34; i++) {
54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]); 54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]);
55         } 55         }
56 #endif 56 #endif
57     } 57     }
58 } 58 }
68 #ifndef __NUITKA_NO_ASSERT__ 68 #ifndef __NUITKA_NO_ASSERT__
69 void checkModuleConstants___main__(void) { 69 void checkModuleConstants___main__(void) {
70     // The module may not have been used at all, then ignore this. 70     // The module may not have been used at all, then ignore this.
71     if (constants_created == false) return; 71     if (constants_created == false) return;
72 72
n 73     for(int i = 0; i < 37; i++) { n 73     for(int i = 0; i < 34; i++) {
74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i])); 74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i]));
75         CHECK_OBJECT_DEEP(mod_consts[i]); 75         CHECK_OBJECT_DEEP(mod_consts[i]);
76     } 76     }
77 } 77 }
78 #endif 78 #endif
84 static PyCodeObject *codeobj_eb7e5a73f567b929b8856b4a5a41cb74; 84 static PyCodeObject *codeobj_eb7e5a73f567b929b8856b4a5a41cb74;
85 /* For use in "MainProgram.c". */ 85 /* For use in "MainProgram.c". */
86 PyCodeObject *codeobj_main = NULL; 86 PyCodeObject *codeobj_main = NULL;
87 87
88 static void createModuleCodeObjects(void) { 88 static void createModuleCodeObjects(void) {
n 89     module_filename_obj = mod_consts[8]; CHECK_OBJECT(module_filename_obj); n 89     module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj);
90     codeobj_acbb09c0b9542679911d1f8edb186b8a = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[33], NULL, NULL, 0, 0, 0); 90     codeobj_acbb09c0b9542679911d1f8edb186b8a = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[30], NULL, NULL, 0, 0, 0);
91     codeobj_64807740dff3c7e16575b166334fd901 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_NOFREE, mod_consts[2], mod_consts[34], NULL, 0, 0, 0); 91     codeobj_64807740dff3c7e16575b166334fd901 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_NOFREE, mod_consts[2], mod_consts[31], NULL, 0, 0, 0);
92     codeobj_86f59bd2120f7974227620a237952c85 = MAKE_CODEOBJECT(module_filename_obj, 26, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[26], mod_consts[35], NULL, 0, 0, 0); 92     codeobj_86f59bd2120f7974227620a237952c85 = MAKE_CODEOBJECT(module_filename_obj, 26, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[23], mod_consts[32], NULL, 0, 0, 0);
93     codeobj_eb7e5a73f567b929b8856b4a5a41cb74 = MAKE_CODEOBJECT(module_filename_obj, 23, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[3], mod_consts[36], NULL, 7, 0, 0); 93     codeobj_eb7e5a73f567b929b8856b4a5a41cb74 = MAKE_CODEOBJECT(module_filename_obj, 23, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[20], mod_consts[33], NULL, 7, 0, 0);
94 } 94 }
95 95
96 // The module function declarations. 96 // The module function declarations.
97 NUITKA_LOCAL_MODULE PyObject *impl___main__$$$function__1__mro_entries_conversion(PyObject **python_pars); 97 NUITKA_LOCAL_MODULE PyObject *impl___main__$$$function__1__mro_entries_conversion(PyObject **python_pars);
98 98
491     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 491     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
492     PyObject *exception_type = NULL; 492     PyObject *exception_type = NULL;
493     PyObject *exception_value = NULL; 493     PyObject *exception_value = NULL;
494     PyTracebackObject *exception_tb = NULL; 494     PyTracebackObject *exception_tb = NULL;
495     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 495     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 496     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
497     static struct Nuitka_FrameObject *cache_frame_86f59bd2120f7974227620a237952c85 = NULL; 496     static struct Nuitka_FrameObject *cache_frame_86f59bd2120f7974227620a237952c85 = NULL;
498     PyObject *tmp_return_value = NULL; 497     PyObject *tmp_return_value = NULL;
499     PyObject *exception_keeper_type_1; 498     PyObject *exception_keeper_type_1;
500     PyObject *exception_keeper_value_1; 499     PyObject *exception_keeper_value_1;
501     PyTracebackObject *exception_keeper_tb_1; 500     PyTracebackObject *exception_keeper_tb_1;
561             type_description_1 = "o"; 560             type_description_1 = "o";
562             goto frame_exception_exit_1; 561             goto frame_exception_exit_1;
563         } 562         }
564         assert(var_inst == NULL); 563         assert(var_inst == NULL);
565         var_inst = tmp_assign_source_1; 564         var_inst = tmp_assign_source_1;
n 566     } n
567     {
568         PyObject *tmp_called_instance_1;
569         PyObject *tmp_call_result_1;
570         CHECK_OBJECT(var_inst);
571         tmp_called_instance_1 = var_inst;
572         frame_86f59bd2120f7974227620a237952c85->m_frame.f_lineno = 32;
573         tmp_call_result_1 = CALL_METHOD_WITH_ARGS6(
574             tmp_called_instance_1,
575             mod_consts[3],
576             &PyTuple_GET_ITEM(mod_consts[4], 0)
577         );
578  
579         if (tmp_call_result_1 == NULL) {
580             assert(ERROR_OCCURRED());
581  
582             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
583  
584  
585             exception_lineno = 32;
586             type_description_1 = "o";
587             goto frame_exception_exit_1;
588         }
589         Py_DECREF(tmp_call_result_1);
590     }
591     {
592         PyObject *tmp_called_instance_2;
593         PyObject *tmp_call_result_2;
594         CHECK_OBJECT(var_inst);
595         tmp_called_instance_2 = var_inst;
596         frame_86f59bd2120f7974227620a237952c85->m_frame.f_lineno = 33;
597         tmp_call_result_2 = CALL_METHOD_WITH_ARGS6(
598             tmp_called_instance_2,
599             mod_consts[3],
600             &PyTuple_GET_ITEM(mod_consts[5], 0)
601         );
602  
603         if (tmp_call_result_2 == NULL) {
604             assert(ERROR_OCCURRED());
605  
606             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
607  
608  
609             exception_lineno = 33;
610             type_description_1 = "o";
611             goto frame_exception_exit_1;
612         }
613         Py_DECREF(tmp_call_result_2);
614     }
615     {
616         PyObject *tmp_called_instance_3;
617         PyObject *tmp_call_result_3;
618         CHECK_OBJECT(var_inst);
619         tmp_called_instance_3 = var_inst;
620         frame_86f59bd2120f7974227620a237952c85->m_frame.f_lineno = 34;
621         tmp_call_result_3 = CALL_METHOD_WITH_ARGS6(
622             tmp_called_instance_3,
623             mod_consts[3],
624             &PyTuple_GET_ITEM(mod_consts[6], 0)
625         );
626  
627         if (tmp_call_result_3 == NULL) {
628             assert(ERROR_OCCURRED());
629  
630             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
631  
632  
633             exception_lineno = 34;
634             type_description_1 = "o";
635             goto frame_exception_exit_1;
636         }
637         Py_DECREF(tmp_call_result_3);
638     } 565     }
639 566
640 #if 0 567 #if 0
641     RESTORE_FRAME_EXCEPTION(frame_86f59bd2120f7974227620a237952c85); 568     RESTORE_FRAME_EXCEPTION(frame_86f59bd2120f7974227620a237952c85);
642 #endif 569 #endif
706     exception_type = NULL; 633     exception_type = NULL;
707     exception_value = NULL; 634     exception_value = NULL;
708     exception_tb = NULL; 635     exception_tb = NULL;
709     exception_lineno = 0; 636     exception_lineno = 0;
710 637
n 711     Py_XDECREF(var_inst); n
712     var_inst = NULL;
713     // Re-raise. 638     // Re-raise.
714     exception_type = exception_keeper_type_1; 639     exception_type = exception_keeper_type_1;
715     exception_value = exception_keeper_value_1; 640     exception_value = exception_keeper_value_1;
716     exception_tb = exception_keeper_tb_1; 641     exception_tb = exception_keeper_tb_1;
717     exception_lineno = exception_keeper_lineno_1; 642     exception_lineno = exception_keeper_lineno_1;
742 667
743 668
744 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_method() { 669 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_method() {
745     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 670     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
746         impl___main__$$$function__1_compiled_method, 671         impl___main__$$$function__1_compiled_method,
n 747         mod_consts[3], n 672         mod_consts[20],
748 #if PYTHON_VERSION >= 0x300 673 #if PYTHON_VERSION >= 0x300
n 749         mod_consts[24], n 674         mod_consts[21],
750 #endif 675 #endif
751         codeobj_eb7e5a73f567b929b8856b4a5a41cb74, 676         codeobj_eb7e5a73f567b929b8856b4a5a41cb74,
752         NULL, 677         NULL,
753 #if PYTHON_VERSION >= 0x300 678 #if PYTHON_VERSION >= 0x300
754         NULL, 679         NULL,
767 692
768 693
769 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 694 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
770     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 695     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
771         impl___main__$$$function__2_calledRepeatedly, 696         impl___main__$$$function__2_calledRepeatedly,
n 772         mod_consts[26], n 697         mod_consts[23],
773 #if PYTHON_VERSION >= 0x300 698 #if PYTHON_VERSION >= 0x300
774         NULL, 699         NULL,
775 #endif 700 #endif
776         codeobj_86f59bd2120f7974227620a237952c85, 701         codeobj_86f59bd2120f7974227620a237952c85,
777         NULL, 702         NULL,
1174 1099
1175     // Module code. 1100     // Module code.
1176     { 1101     {
1177         PyObject *tmp_assign_source_1; 1102         PyObject *tmp_assign_source_1;
1178         tmp_assign_source_1 = Py_None; 1103         tmp_assign_source_1 = Py_None;
n 1179         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_1); n 1104         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1);
1180     } 1105     }
1181     { 1106     {
1182         PyObject *tmp_assign_source_2; 1107         PyObject *tmp_assign_source_2;
n 1183         tmp_assign_source_2 = mod_consts[8]; n 1108         tmp_assign_source_2 = mod_consts[4];
1184         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_2); 1109         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2);
1185     } 1110     }
1186     { 1111     {
1187         PyObject *tmp_assign_source_3; 1112         PyObject *tmp_assign_source_3;
1188         tmp_assign_source_3 = Py_None; 1113         tmp_assign_source_3 = Py_None;
n 1189         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_3); n 1114         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
1190     } 1115     }
1191     { 1116     {
1192         PyObject *tmp_assign_source_4; 1117         PyObject *tmp_assign_source_4;
1193         tmp_assign_source_4 = PyDict_New(); 1118         tmp_assign_source_4 = PyDict_New();
n 1194         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_4); n 1119         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4);
1195     } 1120     }
1196     { 1121     {
1197         PyObject *tmp_assign_source_5; 1122         PyObject *tmp_assign_source_5;
1198         { 1123         {
1199             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 1124             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 1200             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[12]); n 1125             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[8]);
1201         } 1126         }
1202 1127
1203         assert(!(tmp_assign_source_5 == NULL)); 1128         assert(!(tmp_assign_source_5 == NULL));
n 1204         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_5); n 1129         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_5);
1205     } 1130     }
1206     // Frame without reuse. 1131     // Frame without reuse.
1207     frame_acbb09c0b9542679911d1f8edb186b8a = MAKE_MODULE_FRAME(codeobj_acbb09c0b9542679911d1f8edb186b8a, module___main__); 1132     frame_acbb09c0b9542679911d1f8edb186b8a = MAKE_MODULE_FRAME(codeobj_acbb09c0b9542679911d1f8edb186b8a, module___main__);
1208 1133
1209     // Push the new frame as the currently active one, and we should be exclusively 1134     // Push the new frame as the currently active one, and we should be exclusively
1214     // Framed code: 1139     // Framed code:
1215     // Tried code: 1140     // Tried code:
1216     { 1141     {
1217         PyObject *tmp_assign_source_6; 1142         PyObject *tmp_assign_source_6;
1218         PyObject *tmp_dircall_arg1_1; 1143         PyObject *tmp_dircall_arg1_1;
n 1219         tmp_dircall_arg1_1 = mod_consts[13]; n 1144         tmp_dircall_arg1_1 = mod_consts[9];
1220         Py_INCREF(tmp_dircall_arg1_1); 1145         Py_INCREF(tmp_dircall_arg1_1);
1221 1146
1222         { 1147         {
1223             PyObject *dir_call_args[] = {tmp_dircall_arg1_1}; 1148             PyObject *dir_call_args[] = {tmp_dircall_arg1_1};
1224             tmp_assign_source_6 = impl___main__$$$function__1__mro_entries_conversion(dir_call_args); 1149             tmp_assign_source_6 = impl___main__$$$function__1__mro_entries_conversion(dir_call_args);
1254         int tmp_truth_name_1; 1179         int tmp_truth_name_1;
1255         PyObject *tmp_type_arg_1; 1180         PyObject *tmp_type_arg_1;
1256         PyObject *tmp_expression_name_1; 1181         PyObject *tmp_expression_name_1;
1257         PyObject *tmp_subscript_name_1; 1182         PyObject *tmp_subscript_name_1;
1258         PyObject *tmp_bases_name_1; 1183         PyObject *tmp_bases_name_1;
n 1259         tmp_key_name_1 = mod_consts[14]; n 1184         tmp_key_name_1 = mod_consts[10];
1260         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict); 1185         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict);
1261         tmp_dict_arg_name_1 = tmp_class_creation_1__class_decl_dict; 1186         tmp_dict_arg_name_1 = tmp_class_creation_1__class_decl_dict;
1262         tmp_res = DICT_HAS_ITEM(tmp_dict_arg_name_1, tmp_key_name_1); 1187         tmp_res = DICT_HAS_ITEM(tmp_dict_arg_name_1, tmp_key_name_1);
1263         assert(!(tmp_res == -1)); 1188         assert(!(tmp_res == -1));
1264         tmp_condition_result_1 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; 1189         tmp_condition_result_1 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
1268             goto condexpr_false_1; 1193             goto condexpr_false_1;
1269         } 1194         }
1270         condexpr_true_1:; 1195         condexpr_true_1:;
1271         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict); 1196         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict);
1272         tmp_dict_arg_name_2 = tmp_class_creation_1__class_decl_dict; 1197         tmp_dict_arg_name_2 = tmp_class_creation_1__class_decl_dict;
n 1273         tmp_key_name_2 = mod_consts[14]; n 1198         tmp_key_name_2 = mod_consts[10];
1274         tmp_metaclass_name_1 = DICT_GET_ITEM_WITH_ERROR(tmp_dict_arg_name_2, tmp_key_name_2); 1199         tmp_metaclass_name_1 = DICT_GET_ITEM_WITH_ERROR(tmp_dict_arg_name_2, tmp_key_name_2);
1275         if (tmp_metaclass_name_1 == NULL) { 1200         if (tmp_metaclass_name_1 == NULL) {
1276             assert(ERROR_OCCURRED()); 1201             assert(ERROR_OCCURRED());
1277 1202
1278             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1203             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1303             goto condexpr_false_2; 1228             goto condexpr_false_2;
1304         } 1229         }
1305         condexpr_true_2:; 1230         condexpr_true_2:;
1306         CHECK_OBJECT(tmp_class_creation_1__bases); 1231         CHECK_OBJECT(tmp_class_creation_1__bases);
1307         tmp_expression_name_1 = tmp_class_creation_1__bases; 1232         tmp_expression_name_1 = tmp_class_creation_1__bases;
n 1308         tmp_subscript_name_1 = mod_consts[15]; n 1233         tmp_subscript_name_1 = mod_consts[11];
1309         tmp_type_arg_1 = LOOKUP_SUBSCRIPT_CONST(tmp_expression_name_1, tmp_subscript_name_1, 0); 1234         tmp_type_arg_1 = LOOKUP_SUBSCRIPT_CONST(tmp_expression_name_1, tmp_subscript_name_1, 0);
1310         if (tmp_type_arg_1 == NULL) { 1235         if (tmp_type_arg_1 == NULL) {
1311             assert(ERROR_OCCURRED()); 1236             assert(ERROR_OCCURRED());
1312 1237
1313             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1238             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1354     } 1279     }
1355     { 1280     {
1356         nuitka_bool tmp_condition_result_3; 1281         nuitka_bool tmp_condition_result_3;
1357         PyObject *tmp_key_name_3; 1282         PyObject *tmp_key_name_3;
1358         PyObject *tmp_dict_arg_name_3; 1283         PyObject *tmp_dict_arg_name_3;
n 1359         tmp_key_name_3 = mod_consts[14]; n 1284         tmp_key_name_3 = mod_consts[10];
1360         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict); 1285         CHECK_OBJECT(tmp_class_creation_1__class_decl_dict);
1361         tmp_dict_arg_name_3 = tmp_class_creation_1__class_decl_dict; 1286         tmp_dict_arg_name_3 = tmp_class_creation_1__class_decl_dict;
1362         tmp_res = DICT_HAS_ITEM(tmp_dict_arg_name_3, tmp_key_name_3); 1287         tmp_res = DICT_HAS_ITEM(tmp_dict_arg_name_3, tmp_key_name_3);
1363         assert(!(tmp_res == -1)); 1288         assert(!(tmp_res == -1));
1364         tmp_condition_result_3 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; 1289         tmp_condition_result_3 = (tmp_res != 0) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
1369         } 1294         }
1370     } 1295     }
1371     branch_yes_1:; 1296     branch_yes_1:;
1372     CHECK_OBJECT(tmp_class_creation_1__class_decl_dict); 1297     CHECK_OBJECT(tmp_class_creation_1__class_decl_dict);
1373     tmp_dictdel_dict = tmp_class_creation_1__class_decl_dict; 1298     tmp_dictdel_dict = tmp_class_creation_1__class_decl_dict;
n 1374     tmp_dictdel_key = mod_consts[14]; n 1299     tmp_dictdel_key = mod_consts[10];
1375     tmp_result = DICT_REMOVE_ITEM(tmp_dictdel_dict, tmp_dictdel_key); 1300     tmp_result = DICT_REMOVE_ITEM(tmp_dictdel_dict, tmp_dictdel_key);
1376     if (tmp_result == false) { 1301     if (tmp_result == false) {
1377         assert(ERROR_OCCURRED()); 1302         assert(ERROR_OCCURRED());
1378 1303
1379         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1304         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1387     { 1312     {
1388         nuitka_bool tmp_condition_result_4; 1313         nuitka_bool tmp_condition_result_4;
1389         PyObject *tmp_expression_name_2; 1314         PyObject *tmp_expression_name_2;
1390         CHECK_OBJECT(tmp_class_creation_1__metaclass); 1315         CHECK_OBJECT(tmp_class_creation_1__metaclass);
1391         tmp_expression_name_2 = tmp_class_creation_1__metaclass; 1316         tmp_expression_name_2 = tmp_class_creation_1__metaclass;
n 1392         tmp_result = HAS_ATTR_BOOL(tmp_expression_name_2, mod_consts[16]); n 1317         tmp_result = HAS_ATTR_BOOL(tmp_expression_name_2, mod_consts[12]);
1393         tmp_condition_result_4 = (tmp_result) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE; 1318         tmp_condition_result_4 = (tmp_result) ? NUITKA_BOOL_TRUE : NUITKA_BOOL_FALSE;
1394         if (tmp_condition_result_4 == NUITKA_BOOL_TRUE) { 1319         if (tmp_condition_result_4 == NUITKA_BOOL_TRUE) {
1395             goto branch_yes_2; 1320             goto branch_yes_2;
1396         } else { 1321         } else {
1397             goto branch_no_2; 1322             goto branch_no_2;
1405         PyObject *tmp_args_name_1; 1330         PyObject *tmp_args_name_1;
1406         PyObject *tmp_tuple_element_1; 1331         PyObject *tmp_tuple_element_1;
1407         PyObject *tmp_kwargs_name_1; 1332         PyObject *tmp_kwargs_name_1;
1408         CHECK_OBJECT(tmp_class_creation_1__metaclass); 1333         CHECK_OBJECT(tmp_class_creation_1__metaclass);
1409         tmp_expression_name_3 = tmp_class_creation_1__metaclass; 1334         tmp_expression_name_3 = tmp_class_creation_1__metaclass;
n 1410         tmp_called_name_1 = LOOKUP_ATTRIBUTE(tmp_expression_name_3, mod_consts[16]); n 1335         tmp_called_name_1 = LOOKUP_ATTRIBUTE(tmp_expression_name_3, mod_consts[12]);
1411         if (tmp_called_name_1 == NULL) { 1336         if (tmp_called_name_1 == NULL) {
1412             assert(ERROR_OCCURRED()); 1337             assert(ERROR_OCCURRED());
1413 1338
1414             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1339             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1415 1340
1447         nuitka_bool tmp_condition_result_5; 1372         nuitka_bool tmp_condition_result_5;
1448         PyObject *tmp_operand_name_1; 1373         PyObject *tmp_operand_name_1;
1449         PyObject *tmp_expression_name_4; 1374         PyObject *tmp_expression_name_4;
1450         CHECK_OBJECT(tmp_class_creation_1__prepared); 1375         CHECK_OBJECT(tmp_class_creation_1__prepared);
1451         tmp_expression_name_4 = tmp_class_creation_1__prepared; 1376         tmp_expression_name_4 = tmp_class_creation_1__prepared;
n 1452         tmp_result = HAS_ATTR_BOOL(tmp_expression_name_4, mod_consts[17]); n 1377         tmp_result = HAS_ATTR_BOOL(tmp_expression_name_4, mod_consts[13]);
1453         tmp_operand_name_1 = (tmp_result) ? Py_True : Py_False; 1378         tmp_operand_name_1 = (tmp_result) ? Py_True : Py_False;
1454         tmp_res = CHECK_IF_TRUE(tmp_operand_name_1); 1379         tmp_res = CHECK_IF_TRUE(tmp_operand_name_1);
1455         if (tmp_res == -1) { 1380         if (tmp_res == -1) {
1456             assert(ERROR_OCCURRED()); 1381             assert(ERROR_OCCURRED());
1457 1382
1478         PyObject *tmp_tuple_element_2; 1403         PyObject *tmp_tuple_element_2;
1479         PyObject *tmp_getattr_target_1; 1404         PyObject *tmp_getattr_target_1;
1480         PyObject *tmp_getattr_attr_1; 1405         PyObject *tmp_getattr_attr_1;
1481         PyObject *tmp_getattr_default_1; 1406         PyObject *tmp_getattr_default_1;
1482         tmp_raise_type_1 = PyExc_TypeError; 1407         tmp_raise_type_1 = PyExc_TypeError;
n 1483         tmp_left_name_1 = mod_consts[18]; n 1408         tmp_left_name_1 = mod_consts[14];
1484         CHECK_OBJECT(tmp_class_creation_1__metaclass); 1409         CHECK_OBJECT(tmp_class_creation_1__metaclass);
1485         tmp_getattr_target_1 = tmp_class_creation_1__metaclass; 1410         tmp_getattr_target_1 = tmp_class_creation_1__metaclass;
n 1486         tmp_getattr_attr_1 = mod_consts[19]; n 1411         tmp_getattr_attr_1 = mod_consts[15];
1487         tmp_getattr_default_1 = mod_consts[20]; 1412         tmp_getattr_default_1 = mod_consts[16];
1488         tmp_tuple_element_2 = BUILTIN_GETATTR(tmp_getattr_target_1, tmp_getattr_attr_1, tmp_getattr_default_1); 1413         tmp_tuple_element_2 = BUILTIN_GETATTR(tmp_getattr_target_1, tmp_getattr_attr_1, tmp_getattr_default_1);
1489         if (tmp_tuple_element_2 == NULL) { 1414         if (tmp_tuple_element_2 == NULL) {
1490             assert(ERROR_OCCURRED()); 1415             assert(ERROR_OCCURRED());
1491 1416
1492             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1417             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1503             PyTuple_SET_ITEM(tmp_right_name_1, 0, tmp_tuple_element_2); 1428             PyTuple_SET_ITEM(tmp_right_name_1, 0, tmp_tuple_element_2);
1504             CHECK_OBJECT(tmp_class_creation_1__prepared); 1429             CHECK_OBJECT(tmp_class_creation_1__prepared);
1505             tmp_type_arg_2 = tmp_class_creation_1__prepared; 1430             tmp_type_arg_2 = tmp_class_creation_1__prepared;
1506             tmp_expression_name_5 = BUILTIN_TYPE1(tmp_type_arg_2); 1431             tmp_expression_name_5 = BUILTIN_TYPE1(tmp_type_arg_2);
1507             assert(!(tmp_expression_name_5 == NULL)); 1432             assert(!(tmp_expression_name_5 == NULL));
n 1508             tmp_tuple_element_2 = LOOKUP_ATTRIBUTE(tmp_expression_name_5, mod_consts[19]); n 1433             tmp_tuple_element_2 = LOOKUP_ATTRIBUTE(tmp_expression_name_5, mod_consts[15]);
1509             Py_DECREF(tmp_expression_name_5); 1434             Py_DECREF(tmp_expression_name_5);
1510             if (tmp_tuple_element_2 == NULL) { 1435             if (tmp_tuple_element_2 == NULL) {
1511                 assert(ERROR_OCCURRED()); 1436                 assert(ERROR_OCCURRED());
1512 1437
1513                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1438                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1565             locals___main__$$$class__1_C_22 = tmp_set_locals_1; 1490             locals___main__$$$class__1_C_22 = tmp_set_locals_1;
1566             Py_INCREF(tmp_set_locals_1); 1491             Py_INCREF(tmp_set_locals_1);
1567         } 1492         }
1568         // Tried code: 1493         // Tried code:
1569         // Tried code: 1494         // Tried code:
n 1570         tmp_dictset_value = mod_consts[21]; n 1495         tmp_dictset_value = mod_consts[17];
1571         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[22], tmp_dictset_value); 1496         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[18], tmp_dictset_value);
1572         if (tmp_res != 0) { 1497         if (tmp_res != 0) {
1573             assert(ERROR_OCCURRED()); 1498             assert(ERROR_OCCURRED());
1574 1499
1575             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1500             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1576 1501
1578             exception_lineno = 22; 1503             exception_lineno = 22;
1579 1504
1580             goto try_except_handler_3; 1505             goto try_except_handler_3;
1581         } 1506         }
1582         tmp_dictset_value = mod_consts[2]; 1507         tmp_dictset_value = mod_consts[2];
n 1583         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[23], tmp_dictset_value); n 1508         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[19], tmp_dictset_value);
1584         if (tmp_res != 0) { 1509         if (tmp_res != 0) {
1585             assert(ERROR_OCCURRED()); 1510             assert(ERROR_OCCURRED());
1586 1511
1587             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1512             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1588 1513
1620         // Framed code: 1545         // Framed code:
1621 1546
1622 1547
1623         tmp_dictset_value = MAKE_FUNCTION___main__$$$function__1_compiled_method(); 1548         tmp_dictset_value = MAKE_FUNCTION___main__$$$function__1_compiled_method();
1624 1549
n 1625         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[3], tmp_dictset_value); n 1550         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[20], tmp_dictset_value);
1626         Py_DECREF(tmp_dictset_value); 1551         Py_DECREF(tmp_dictset_value);
1627         if (tmp_res != 0) { 1552         if (tmp_res != 0) {
1628             assert(ERROR_OCCURRED()); 1553             assert(ERROR_OCCURRED());
1629 1554
1630             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1555             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1693             nuitka_bool tmp_condition_result_6; 1618             nuitka_bool tmp_condition_result_6;
1694             PyObject *tmp_compexpr_left_1; 1619             PyObject *tmp_compexpr_left_1;
1695             PyObject *tmp_compexpr_right_1; 1620             PyObject *tmp_compexpr_right_1;
1696             CHECK_OBJECT(tmp_class_creation_1__bases); 1621             CHECK_OBJECT(tmp_class_creation_1__bases);
1697             tmp_compexpr_left_1 = tmp_class_creation_1__bases; 1622             tmp_compexpr_left_1 = tmp_class_creation_1__bases;
n 1698             tmp_compexpr_right_1 = mod_consts[13]; n 1623             tmp_compexpr_right_1 = mod_consts[9];
1699             tmp_condition_result_6 = RICH_COMPARE_NE_NBOOL_OBJECT_TUPLE(tmp_compexpr_left_1, tmp_compexpr_right_1); 1624             tmp_condition_result_6 = RICH_COMPARE_NE_NBOOL_OBJECT_TUPLE(tmp_compexpr_left_1, tmp_compexpr_right_1);
1700             if (tmp_condition_result_6 == NUITKA_BOOL_EXCEPTION) { 1625             if (tmp_condition_result_6 == NUITKA_BOOL_EXCEPTION) {
1701                 assert(ERROR_OCCURRED()); 1626                 assert(ERROR_OCCURRED());
1702 1627
1703                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1628                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1713                 goto branch_no_4; 1638                 goto branch_no_4;
1714             } 1639             }
1715             assert(tmp_condition_result_6 != NUITKA_BOOL_UNASSIGNED); 1640             assert(tmp_condition_result_6 != NUITKA_BOOL_UNASSIGNED);
1716         } 1641         }
1717         branch_yes_4:; 1642         branch_yes_4:;
n 1718         tmp_dictset_value = mod_consts[13]; n 1643         tmp_dictset_value = mod_consts[9];
1719         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[25], tmp_dictset_value); 1644         tmp_res = PyObject_SetItem(locals___main__$$$class__1_C_22, mod_consts[22], tmp_dictset_value);
1720         if (tmp_res != 0) { 1645         if (tmp_res != 0) {
1721             assert(ERROR_OCCURRED()); 1646             assert(ERROR_OCCURRED());
1722 1647
1723             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1648             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1724 1649
1871         PyObject *tmp_assign_source_13; 1796         PyObject *tmp_assign_source_13;
1872 1797
1873 1798
1874         tmp_assign_source_13 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 1799         tmp_assign_source_13 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
1875 1800
n 1876         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[26], tmp_assign_source_13); n 1801         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[23], tmp_assign_source_13);
1877     } 1802     }
1878     { 1803     {
1879         PyObject *tmp_assign_source_14; 1804         PyObject *tmp_assign_source_14;
1880         PyObject *tmp_name_name_1; 1805         PyObject *tmp_name_name_1;
1881         PyObject *tmp_globals_arg_name_1; 1806         PyObject *tmp_globals_arg_name_1;
1882         PyObject *tmp_locals_arg_name_1; 1807         PyObject *tmp_locals_arg_name_1;
1883         PyObject *tmp_fromlist_name_1; 1808         PyObject *tmp_fromlist_name_1;
1884         PyObject *tmp_level_name_1; 1809         PyObject *tmp_level_name_1;
n 1885         tmp_name_name_1 = mod_consts[27]; n 1810         tmp_name_name_1 = mod_consts[24];
1886         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__; 1811         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__;
1887         tmp_locals_arg_name_1 = Py_None; 1812         tmp_locals_arg_name_1 = Py_None;
1888         tmp_fromlist_name_1 = Py_None; 1813         tmp_fromlist_name_1 = Py_None;
n 1889         tmp_level_name_1 = mod_consts[15]; n 1814         tmp_level_name_1 = mod_consts[11];
1890         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 40; 1815         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 40;
1891         tmp_assign_source_14 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1); 1816         tmp_assign_source_14 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1);
1892         assert(!(tmp_assign_source_14 == NULL)); 1817         assert(!(tmp_assign_source_14 == NULL));
n 1893         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[27], tmp_assign_source_14); n 1818         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[24], tmp_assign_source_14);
1894     } 1819     }
1895     { 1820     {
1896         PyObject *tmp_assign_source_15; 1821         PyObject *tmp_assign_source_15;
1897         PyObject *tmp_iter_arg_1; 1822         PyObject *tmp_iter_arg_1;
1898         PyObject *tmp_called_instance_1; 1823         PyObject *tmp_called_instance_1;
n 1899         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[27]); n 1824         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[24]);
1900 1825
1901         if (unlikely(tmp_called_instance_1 == NULL)) { 1826         if (unlikely(tmp_called_instance_1 == NULL)) {
n 1902             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[27]); n 1827             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[24]);
1903         } 1828         }
1904 1829
1905         assert(!(tmp_called_instance_1 == NULL)); 1830         assert(!(tmp_called_instance_1 == NULL));
1906         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 41; 1831         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 41;
1907         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 1832         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
1908             tmp_called_instance_1, 1833             tmp_called_instance_1,
n 1909             mod_consts[28], n 1834             mod_consts[25],
1910             &PyTuple_GET_ITEM(mod_consts[29], 0) 1835             &PyTuple_GET_ITEM(mod_consts[26], 0)
1911         ); 1836         );
1912 1837
1913         if (tmp_iter_arg_1 == NULL) { 1838         if (tmp_iter_arg_1 == NULL) {
1914             assert(ERROR_OCCURRED()); 1839             assert(ERROR_OCCURRED());
1915 1840
1965     } 1890     }
1966     { 1891     {
1967         PyObject *tmp_assign_source_17; 1892         PyObject *tmp_assign_source_17;
1968         CHECK_OBJECT(tmp_for_loop_1__iter_value); 1893         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1969         tmp_assign_source_17 = tmp_for_loop_1__iter_value; 1894         tmp_assign_source_17 = tmp_for_loop_1__iter_value;
n 1970         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[30], tmp_assign_source_17); n 1895         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[27], tmp_assign_source_17);
1971     } 1896     }
1972     { 1897     {
1973         PyObject *tmp_called_name_3; 1898         PyObject *tmp_called_name_3;
1974         PyObject *tmp_call_result_1; 1899         PyObject *tmp_call_result_1;
n 1975         tmp_called_name_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[26]); n 1900         tmp_called_name_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[23]);
1976 1901
1977         if (unlikely(tmp_called_name_3 == NULL)) { 1902         if (unlikely(tmp_called_name_3 == NULL)) {
n 1978             tmp_called_name_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[26]); n 1903             tmp_called_name_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[23]);
1979         } 1904         }
1980 1905
1981         if (tmp_called_name_3 == NULL) { 1906         if (tmp_called_name_3 == NULL) {
1982             assert(ERROR_OCCURRED()); 1907             assert(ERROR_OCCURRED());
1983 1908
2046     Py_DECREF(tmp_for_loop_1__for_iterator); 1971     Py_DECREF(tmp_for_loop_1__for_iterator);
2047     tmp_for_loop_1__for_iterator = NULL; 1972     tmp_for_loop_1__for_iterator = NULL;
2048     { 1973     {
2049         PyObject *tmp_called_name_4; 1974         PyObject *tmp_called_name_4;
2050         PyObject *tmp_call_result_2; 1975         PyObject *tmp_call_result_2;
n 2051         tmp_called_name_4 = LOOKUP_BUILTIN(mod_consts[31]); n 1976         tmp_called_name_4 = LOOKUP_BUILTIN(mod_consts[28]);
2052         assert(tmp_called_name_4 != NULL); 1977         assert(tmp_called_name_4 != NULL);
2053         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 44; 1978         frame_acbb09c0b9542679911d1f8edb186b8a->m_frame.f_lineno = 44;
t 2054         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_4, mod_consts[32]); t 1979         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_4, mod_consts[29]);
2055 1980
2056         if (tmp_call_result_2 == NULL) { 1981         if (tmp_call_result_2 == NULL) {
2057             assert(ERROR_OCCURRED()); 1982             assert(ERROR_OCCURRED());
2058 1983
2059             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1984             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);