Construct CallCompiledFunctionPosArgsConstant

Performance Diagrams

Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)17604631088.11538461538461257.0CPython 2.740820181240.03846153846155446.81628685023054Nuitka (master)40820181391.96153846153845446.81628685023054Nuitka (develop)40820181543.8846153846154446.81628685023054Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)17346052788.11538461538461257.0CPython 3.542178038240.03846153846155444.0276962925404Nuitka (master)42178206391.96153846153845444.02745695633325Nuitka (develop)42178206543.8846153846154444.02745695633325Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks

Source Code with Construct

from __future__ import print_function

def compiled_func(a,b,c,d,e,f):
    return a, b, c, d, e, f

def calledRepeatedly():

    compiled_f = compiled_func
    # This is supposed to make a call to a compiled function, which is
    # being optimized separately.
# construct_begin
    compiled_f("some", "random", "values", "to", "check", "call")
    compiled_f("some", "other", "values", "to", "check", "call")
    compiled_f("some", "new", "values", "to", "check", "call")
# construct_alternative



    return compiled_f

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

print("OK.")

Source Code without Construct

from __future__ import print_function

def compiled_func(a,b,c,d,e,f):
    return a, b, c, d, e, f

def calledRepeatedly():

    compiled_f = compiled_func
    # This is supposed to make a call to a compiled function, which is
    # being optimized separately.
# construct_begin



# construct_alternative
    pass
# construct_end

    return compiled_f

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

print("OK.")

Context Diff of Source Code


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

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[20]; n 36 static PyObject *mod_consts[17];
37 37
38 static PyObject *module_filename_obj = NULL; 38 static PyObject *module_filename_obj = NULL;
39 39
40 /* Indicator if this modules private constants were created yet. */ 40 /* Indicator if this modules private constants were created yet. */
41 static bool constants_created = false; 41 static bool constants_created = false;
42 42
43 /* Function to create module private constants. */ 43 /* Function to create module private constants. */
44 static void createModuleConstants(void) { 44 static void createModuleConstants(void) {
n 45     loadConstantsBlob(&mod_consts[0], "__main__", 20); n 45     loadConstantsBlob(&mod_consts[0], "__main__", 17);
46 46
47     constants_created = true; 47     constants_created = true;
48 } 48 }
49 49
50 /* For multiprocessing, we want to be able to initialize the __main__ constants. */ 50 /* For multiprocessing, we want to be able to initialize the __main__ constants. */
58 #ifndef __NUITKA_NO_ASSERT__ 58 #ifndef __NUITKA_NO_ASSERT__
59 void checkModuleConstants___main__(void) { 59 void checkModuleConstants___main__(void) {
60     // The module may not have been used at all, then ignore this. 60     // The module may not have been used at all, then ignore this.
61     if (constants_created == false) return; 61     if (constants_created == false) return;
62 62
n 63     checkConstantsBlob(&mod_consts[0], "__main__", 20); n 63     checkConstantsBlob(&mod_consts[0], "__main__", 17);
64 } 64 }
65 #endif 65 #endif
66 66
67 // The module code objects. 67 // The module code objects.
68 static PyCodeObject *codeobj_59995a19c57716c65bcbf7a46b3dc42f; 68 static PyCodeObject *codeobj_59995a19c57716c65bcbf7a46b3dc42f;
70 static PyCodeObject *codeobj_c9292262dc2b2e893296c40a6d856bbd; 70 static PyCodeObject *codeobj_c9292262dc2b2e893296c40a6d856bbd;
71 /* For use in "MainProgram.c". */ 71 /* For use in "MainProgram.c". */
72 PyCodeObject *codeobj_main = NULL; 72 PyCodeObject *codeobj_main = NULL;
73 73
74 static void createModuleCodeObjects(void) { 74 static void createModuleCodeObjects(void) {
n 75     module_filename_obj = mod_consts[5]; CHECK_OBJECT(module_filename_obj); n 75     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
76     codeobj_59995a19c57716c65bcbf7a46b3dc42f = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[17], NULL, NULL, 0, 0, 0); 76     codeobj_59995a19c57716c65bcbf7a46b3dc42f = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[14], NULL, NULL, 0, 0, 0);
77     codeobj_7323b480a16086fe6d0c76d5ae565262 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[18], NULL, 0, 0, 0); 77     codeobj_7323b480a16086fe6d0c76d5ae565262 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[7], mod_consts[15], NULL, 0, 0, 0);
78     codeobj_c9292262dc2b2e893296c40a6d856bbd = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[19], NULL, 6, 0, 0); 78     codeobj_c9292262dc2b2e893296c40a6d856bbd = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[16], NULL, 6, 0, 0);
79 } 79 }
80 80
81 // The module function declarations. 81 // The module function declarations.
82 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func(); 82 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func();
83 83
179     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 179     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
180     PyObject *exception_type = NULL; 180     PyObject *exception_type = NULL;
181     PyObject *exception_value = NULL; 181     PyObject *exception_value = NULL;
182     PyTracebackObject *exception_tb = NULL; 182     PyTracebackObject *exception_tb = NULL;
183     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 183     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 184     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
185     static struct Nuitka_FrameObject *cache_frame_7323b480a16086fe6d0c76d5ae565262 = NULL; 184     static struct Nuitka_FrameObject *cache_frame_7323b480a16086fe6d0c76d5ae565262 = NULL;
186     PyObject *tmp_return_value = NULL; 185     PyObject *tmp_return_value = NULL;
187     PyObject *exception_keeper_type_1; 186     PyObject *exception_keeper_type_1;
188     PyObject *exception_keeper_value_1; 187     PyObject *exception_keeper_value_1;
189     PyTracebackObject *exception_keeper_tb_1; 188     PyTracebackObject *exception_keeper_tb_1;
237             goto frame_exception_exit_1; 236             goto frame_exception_exit_1;
238         } 237         }
239         assert(var_compiled_f == NULL); 238         assert(var_compiled_f == NULL);
240         Py_INCREF(tmp_assign_source_1); 239         Py_INCREF(tmp_assign_source_1);
241         var_compiled_f = tmp_assign_source_1; 240         var_compiled_f = tmp_assign_source_1;
n 242     } n
243     {
244         PyObject *tmp_called_name_1;
245         PyObject *tmp_call_result_1;
246         CHECK_OBJECT(var_compiled_f);
247         tmp_called_name_1 = var_compiled_f;
248         frame_7323b480a16086fe6d0c76d5ae565262->m_frame.f_lineno = 31;
249         tmp_call_result_1 = CALL_FUNCTION_WITH_ARGS6(tmp_called_name_1, &PyTuple_GET_ITEM(mod_consts[1], 0));
250  
251         if (tmp_call_result_1 == NULL) {
252             assert(ERROR_OCCURRED());
253  
254             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
255  
256  
257             exception_lineno = 31;
258             type_description_1 = "o";
259             goto frame_exception_exit_1;
260         }
261         Py_DECREF(tmp_call_result_1);
262     }
263     {
264         PyObject *tmp_called_name_2;
265         PyObject *tmp_call_result_2;
266         CHECK_OBJECT(var_compiled_f);
267         tmp_called_name_2 = var_compiled_f;
268         frame_7323b480a16086fe6d0c76d5ae565262->m_frame.f_lineno = 32;
269         tmp_call_result_2 = CALL_FUNCTION_WITH_ARGS6(tmp_called_name_2, &PyTuple_GET_ITEM(mod_consts[2], 0));
270  
271         if (tmp_call_result_2 == NULL) {
272             assert(ERROR_OCCURRED());
273  
274             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
275  
276  
277             exception_lineno = 32;
278             type_description_1 = "o";
279             goto frame_exception_exit_1;
280         }
281         Py_DECREF(tmp_call_result_2);
282     }
283     {
284         PyObject *tmp_called_name_3;
285         PyObject *tmp_call_result_3;
286         CHECK_OBJECT(var_compiled_f);
287         tmp_called_name_3 = var_compiled_f;
288         frame_7323b480a16086fe6d0c76d5ae565262->m_frame.f_lineno = 33;
289         tmp_call_result_3 = CALL_FUNCTION_WITH_ARGS6(tmp_called_name_3, &PyTuple_GET_ITEM(mod_consts[3], 0));
290  
291         if (tmp_call_result_3 == NULL) {
292             assert(ERROR_OCCURRED());
293  
294             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
295  
296  
297             exception_lineno = 33;
298             type_description_1 = "o";
299             goto frame_exception_exit_1;
300         }
301         Py_DECREF(tmp_call_result_3);
302     } 241     }
303 242
304 #if 0 243 #if 0
305     RESTORE_FRAME_EXCEPTION(frame_7323b480a16086fe6d0c76d5ae565262); 244     RESTORE_FRAME_EXCEPTION(frame_7323b480a16086fe6d0c76d5ae565262);
306 #endif 245 #endif
371     exception_type = NULL; 310     exception_type = NULL;
372     exception_value = NULL; 311     exception_value = NULL;
373     exception_tb = NULL; 312     exception_tb = NULL;
374     exception_lineno = 0; 313     exception_lineno = 0;
375 314
n 376     Py_XDECREF(var_compiled_f); n
377     var_compiled_f = NULL;
378     // Re-raise. 315     // Re-raise.
379     exception_type = exception_keeper_type_1; 316     exception_type = exception_keeper_type_1;
380     exception_value = exception_keeper_value_1; 317     exception_value = exception_keeper_value_1;
381     exception_tb = exception_keeper_tb_1; 318     exception_tb = exception_keeper_tb_1;
382     exception_lineno = exception_keeper_lineno_1; 319     exception_lineno = exception_keeper_lineno_1;
432 369
433 370
434 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 371 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
435     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 372     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
436         impl___main__$$$function__2_calledRepeatedly, 373         impl___main__$$$function__2_calledRepeatedly,
n 437         mod_consts[10], n 374         mod_consts[7],
438 #if PYTHON_VERSION >= 0x300 375 #if PYTHON_VERSION >= 0x300
439         NULL, 376         NULL,
440 #endif 377 #endif
441         codeobj_7323b480a16086fe6d0c76d5ae565262, 378         codeobj_7323b480a16086fe6d0c76d5ae565262,
442         NULL, 379         NULL,
843 780
844     // Module code. 781     // Module code.
845     { 782     {
846         PyObject *tmp_assign_source_1; 783         PyObject *tmp_assign_source_1;
847         tmp_assign_source_1 = Py_None; 784         tmp_assign_source_1 = Py_None;
n 848         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 785         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
849     } 786     }
850     { 787     {
851         PyObject *tmp_assign_source_2; 788         PyObject *tmp_assign_source_2;
n 852         tmp_assign_source_2 = mod_consts[5]; n 789         tmp_assign_source_2 = mod_consts[2];
853         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 790         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
854     } 791     }
855     { 792     {
856         PyObject *tmp_assign_source_3; 793         PyObject *tmp_assign_source_3;
857         tmp_assign_source_3 = Py_None; 794         tmp_assign_source_3 = Py_None;
n 858         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 795         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
859     } 796     }
860     // Frame without reuse. 797     // Frame without reuse.
861     frame_59995a19c57716c65bcbf7a46b3dc42f = MAKE_MODULE_FRAME(codeobj_59995a19c57716c65bcbf7a46b3dc42f, module___main__); 798     frame_59995a19c57716c65bcbf7a46b3dc42f = MAKE_MODULE_FRAME(codeobj_59995a19c57716c65bcbf7a46b3dc42f, module___main__);
862 799
863     // Push the new frame as the currently active one, and we should be exclusively 800     // Push the new frame as the currently active one, and we should be exclusively
874         assert(!(tmp_import_name_from_1 == NULL)); 811         assert(!(tmp_import_name_from_1 == NULL));
875         if (PyModule_Check(tmp_import_name_from_1)) { 812         if (PyModule_Check(tmp_import_name_from_1)) {
876             tmp_assign_source_4 = IMPORT_NAME_OR_MODULE( 813             tmp_assign_source_4 = IMPORT_NAME_OR_MODULE(
877                 tmp_import_name_from_1, 814                 tmp_import_name_from_1,
878                 (PyObject *)moduledict___main__, 815                 (PyObject *)moduledict___main__,
n 879                 mod_consts[8], n 816                 mod_consts[5],
880                 mod_consts[9] 817                 mod_consts[6]
881             ); 818             );
882         } else { 819         } else {
n 883             tmp_assign_source_4 = IMPORT_NAME(tmp_import_name_from_1, mod_consts[8]); n 820             tmp_assign_source_4 = IMPORT_NAME(tmp_import_name_from_1, mod_consts[5]);
884         } 821         }
885 822
886         if (tmp_assign_source_4 == NULL) { 823         if (tmp_assign_source_4 == NULL) {
887             assert(ERROR_OCCURRED()); 824             assert(ERROR_OCCURRED());
888 825
891 828
892             exception_lineno = 20; 829             exception_lineno = 20;
893 830
894             goto frame_exception_exit_1; 831             goto frame_exception_exit_1;
895         } 832         }
n 896         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 833         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
897     } 834     }
898     { 835     {
899         PyObject *tmp_assign_source_5; 836         PyObject *tmp_assign_source_5;
900 837
901 838
907         PyObject *tmp_assign_source_6; 844         PyObject *tmp_assign_source_6;
908 845
909 846
910         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 847         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
911 848
n 912         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_6); n 849         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_6);
913     } 850     }
914     { 851     {
915         PyObject *tmp_assign_source_7; 852         PyObject *tmp_assign_source_7;
916         PyObject *tmp_name_name_1; 853         PyObject *tmp_name_name_1;
917         PyObject *tmp_globals_arg_name_1; 854         PyObject *tmp_globals_arg_name_1;
918         PyObject *tmp_locals_arg_name_1; 855         PyObject *tmp_locals_arg_name_1;
919         PyObject *tmp_fromlist_name_1; 856         PyObject *tmp_fromlist_name_1;
920         PyObject *tmp_level_name_1; 857         PyObject *tmp_level_name_1;
n 921         tmp_name_name_1 = mod_consts[11]; n 858         tmp_name_name_1 = mod_consts[8];
922         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__; 859         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__;
923         tmp_locals_arg_name_1 = Py_None; 860         tmp_locals_arg_name_1 = Py_None;
924         tmp_fromlist_name_1 = Py_None; 861         tmp_fromlist_name_1 = Py_None;
n 925         tmp_level_name_1 = mod_consts[9]; n 862         tmp_level_name_1 = mod_consts[6];
926         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 40; 863         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 40;
927         tmp_assign_source_7 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1); 864         tmp_assign_source_7 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1);
928         assert(!(tmp_assign_source_7 == NULL)); 865         assert(!(tmp_assign_source_7 == NULL));
n 929         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_7); n 866         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_7);
930     } 867     }
931     { 868     {
932         PyObject *tmp_assign_source_8; 869         PyObject *tmp_assign_source_8;
933         PyObject *tmp_iter_arg_1; 870         PyObject *tmp_iter_arg_1;
934         PyObject *tmp_called_instance_1; 871         PyObject *tmp_called_instance_1;
n 935         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 872         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[8]);
936 873
937         if (unlikely(tmp_called_instance_1 == NULL)) { 874         if (unlikely(tmp_called_instance_1 == NULL)) {
n 938             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 875             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[8]);
939         } 876         }
940 877
941         assert(!(tmp_called_instance_1 == NULL)); 878         assert(!(tmp_called_instance_1 == NULL));
942         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 41; 879         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 41;
n 943         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(tmp_called_instance_1, mod_consts[12], &PyTuple_GET_ITEM(mod_consts[13], 0)); n 880         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(tmp_called_instance_1, mod_consts[9], &PyTuple_GET_ITEM(mod_consts[10], 0));
944 881
945         if (tmp_iter_arg_1 == NULL) { 882         if (tmp_iter_arg_1 == NULL) {
946             assert(ERROR_OCCURRED()); 883             assert(ERROR_OCCURRED());
947 884
948             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 885             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
997     } 934     }
998     { 935     {
999         PyObject *tmp_assign_source_10; 936         PyObject *tmp_assign_source_10;
1000         CHECK_OBJECT(tmp_for_loop_1__iter_value); 937         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1001         tmp_assign_source_10 = tmp_for_loop_1__iter_value; 938         tmp_assign_source_10 = tmp_for_loop_1__iter_value;
n 1002         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_10); n 939         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_10);
1003     } 940     }
1004     { 941     {
1005         PyObject *tmp_called_name_1; 942         PyObject *tmp_called_name_1;
1006         PyObject *tmp_call_result_1; 943         PyObject *tmp_call_result_1;
n 1007         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 944         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]);
1008 945
1009         if (unlikely(tmp_called_name_1 == NULL)) { 946         if (unlikely(tmp_called_name_1 == NULL)) {
n 1010             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]); n 947             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[7]);
1011         } 948         }
1012 949
1013         if (tmp_called_name_1 == NULL) { 950         if (tmp_called_name_1 == NULL) {
1014             assert(ERROR_OCCURRED()); 951             assert(ERROR_OCCURRED());
1015 952
1076     Py_XDECREF(tmp_for_loop_1__for_iterator); 1013     Py_XDECREF(tmp_for_loop_1__for_iterator);
1077     tmp_for_loop_1__for_iterator = NULL; 1014     tmp_for_loop_1__for_iterator = NULL;
1078     { 1015     {
1079         PyObject *tmp_called_name_2; 1016         PyObject *tmp_called_name_2;
1080         PyObject *tmp_call_result_2; 1017         PyObject *tmp_call_result_2;
n 1081         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[15]); n 1018         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[12]);
1082         assert(tmp_called_name_2 != NULL); 1019         assert(tmp_called_name_2 != NULL);
1083         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 44; 1020         frame_59995a19c57716c65bcbf7a46b3dc42f->m_frame.f_lineno = 44;
t 1084         tmp_call_result_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tmp_called_name_2, mod_consts[16]); t 1021         tmp_call_result_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tmp_called_name_2, mod_consts[13]);
1085         if (tmp_call_result_2 == NULL) { 1022         if (tmp_call_result_2 == NULL) {
1086             assert(ERROR_OCCURRED()); 1023             assert(ERROR_OCCURRED());
1087 1024
1088             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1025             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1089 1026