Construct CallCompiledFunctionPosArgsConstant

Performance Diagrams

Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)17529853988.11538461538461257.0CPython 2.740121044240.03846153846155447.557427682094Nuitka (master)43518088391.96153846153845442.7686722286593Nuitka (develop)43518088543.8846153846154442.7686722286593Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.8Nuitka (master)Nuitka (develop)Nuitka (factory)16205412988.11538461538461257.0CPython 3.842077046240.03846153846155439.95234557446497Nuitka (master)42175874391.96153846153845439.8016433407023Nuitka (develop)42175874543.8846153846154439.8016433407023Nuitka (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[21]; n 36 static PyObject *mod_consts[18];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[21]; n 38 static Py_hash_t mod_consts_hash[18];
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 < 21; i++) { n 53         for(int i = 0; i < 18; 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 < 21; i++) { n 73     for(int i = 0; i < 18; 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
83 static PyCodeObject *codeobj_72ea0bb4cbf68401a3fc55edfce642b4; 83 static PyCodeObject *codeobj_72ea0bb4cbf68401a3fc55edfce642b4;
84 /* For use in "MainProgram.c". */ 84 /* For use in "MainProgram.c". */
85 PyCodeObject *codeobj_main = NULL; 85 PyCodeObject *codeobj_main = NULL;
86 86
87 static void createModuleCodeObjects(void) { 87 static void createModuleCodeObjects(void) {
n 88     module_filename_obj = mod_consts[5]; CHECK_OBJECT(module_filename_obj); n 88     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
89     codeobj_7163070e0368f3ee7e74e1dfbdff5113 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0); 89     codeobj_7163070e0368f3ee7e74e1dfbdff5113 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], NULL, NULL, 0, 0, 0);
90     codeobj_eae91140ced0e66af365ab5210ee9b97 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[19], NULL, 0, 0, 0); 90     codeobj_eae91140ced0e66af365ab5210ee9b97 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[7], mod_consts[16], NULL, 0, 0, 0);
91     codeobj_72ea0bb4cbf68401a3fc55edfce642b4 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[20], NULL, 6, 0, 0); 91     codeobj_72ea0bb4cbf68401a3fc55edfce642b4 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[17], NULL, 6, 0, 0);
92 } 92 }
93 93
94 // The module function declarations. 94 // The module function declarations.
95 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func(); 95 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func();
96 96
178     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 178     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
179     PyObject *exception_type = NULL; 179     PyObject *exception_type = NULL;
180     PyObject *exception_value = NULL; 180     PyObject *exception_value = NULL;
181     PyTracebackObject *exception_tb = NULL; 181     PyTracebackObject *exception_tb = NULL;
182     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 182     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 183     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
184     static struct Nuitka_FrameObject *cache_frame_eae91140ced0e66af365ab5210ee9b97 = NULL; 183     static struct Nuitka_FrameObject *cache_frame_eae91140ced0e66af365ab5210ee9b97 = NULL;
185     PyObject *tmp_return_value = NULL; 184     PyObject *tmp_return_value = NULL;
186     PyObject *exception_keeper_type_1; 185     PyObject *exception_keeper_type_1;
187     PyObject *exception_keeper_value_1; 186     PyObject *exception_keeper_value_1;
188     PyTracebackObject *exception_keeper_tb_1; 187     PyTracebackObject *exception_keeper_tb_1;
236             goto frame_exception_exit_1; 235             goto frame_exception_exit_1;
237         } 236         }
238         assert(var_compiled_f == NULL); 237         assert(var_compiled_f == NULL);
239         Py_INCREF(tmp_assign_source_1); 238         Py_INCREF(tmp_assign_source_1);
240         var_compiled_f = tmp_assign_source_1; 239         var_compiled_f = tmp_assign_source_1;
n 241     } n
242     {
243         PyObject *tmp_called_name_1;
244         PyObject *tmp_call_result_1;
245         CHECK_OBJECT(var_compiled_f);
246         tmp_called_name_1 = var_compiled_f;
247         frame_eae91140ced0e66af365ab5210ee9b97->m_frame.f_lineno = 31;
248         tmp_call_result_1 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_1, mod_consts[1]);
249  
250         if (tmp_call_result_1 == NULL) {
251             assert(ERROR_OCCURRED());
252  
253             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
254  
255  
256             exception_lineno = 31;
257             type_description_1 = "o";
258             goto frame_exception_exit_1;
259         }
260         Py_DECREF(tmp_call_result_1);
261     }
262     {
263         PyObject *tmp_called_name_2;
264         PyObject *tmp_call_result_2;
265         CHECK_OBJECT(var_compiled_f);
266         tmp_called_name_2 = var_compiled_f;
267         frame_eae91140ced0e66af365ab5210ee9b97->m_frame.f_lineno = 32;
268         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_2, mod_consts[2]);
269  
270         if (tmp_call_result_2 == NULL) {
271             assert(ERROR_OCCURRED());
272  
273             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
274  
275  
276             exception_lineno = 32;
277             type_description_1 = "o";
278             goto frame_exception_exit_1;
279         }
280         Py_DECREF(tmp_call_result_2);
281     }
282     {
283         PyObject *tmp_called_name_3;
284         PyObject *tmp_call_result_3;
285         CHECK_OBJECT(var_compiled_f);
286         tmp_called_name_3 = var_compiled_f;
287         frame_eae91140ced0e66af365ab5210ee9b97->m_frame.f_lineno = 33;
288         tmp_call_result_3 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_3, mod_consts[3]);
289  
290         if (tmp_call_result_3 == NULL) {
291             assert(ERROR_OCCURRED());
292  
293             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
294  
295  
296             exception_lineno = 33;
297             type_description_1 = "o";
298             goto frame_exception_exit_1;
299         }
300         Py_DECREF(tmp_call_result_3);
301     } 240     }
302 241
303 #if 0 242 #if 0
304     RESTORE_FRAME_EXCEPTION(frame_eae91140ced0e66af365ab5210ee9b97); 243     RESTORE_FRAME_EXCEPTION(frame_eae91140ced0e66af365ab5210ee9b97);
305 #endif 244 #endif
370     exception_type = NULL; 309     exception_type = NULL;
371     exception_value = NULL; 310     exception_value = NULL;
372     exception_tb = NULL; 311     exception_tb = NULL;
373     exception_lineno = 0; 312     exception_lineno = 0;
374 313
n 375     Py_XDECREF(var_compiled_f); n
376     var_compiled_f = NULL;
377     // Re-raise. 314     // Re-raise.
378     exception_type = exception_keeper_type_1; 315     exception_type = exception_keeper_type_1;
379     exception_value = exception_keeper_value_1; 316     exception_value = exception_keeper_value_1;
380     exception_tb = exception_keeper_tb_1; 317     exception_tb = exception_keeper_tb_1;
381     exception_lineno = exception_keeper_lineno_1; 318     exception_lineno = exception_keeper_lineno_1;
431 368
432 369
433 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 370 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
434     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 371     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
435         impl___main__$$$function__2_calledRepeatedly, 372         impl___main__$$$function__2_calledRepeatedly,
n 436         mod_consts[10], n 373         mod_consts[7],
437 #if PYTHON_VERSION >= 0x300 374 #if PYTHON_VERSION >= 0x300
438         NULL, 375         NULL,
439 #endif 376 #endif
440         codeobj_eae91140ced0e66af365ab5210ee9b97, 377         codeobj_eae91140ced0e66af365ab5210ee9b97,
441         NULL, 378         NULL,
812 749
813     // Module code. 750     // Module code.
814     { 751     {
815         PyObject *tmp_assign_source_1; 752         PyObject *tmp_assign_source_1;
816         tmp_assign_source_1 = Py_None; 753         tmp_assign_source_1 = Py_None;
n 817         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 754         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
818     } 755     }
819     { 756     {
820         PyObject *tmp_assign_source_2; 757         PyObject *tmp_assign_source_2;
n 821         tmp_assign_source_2 = mod_consts[5]; n 758         tmp_assign_source_2 = mod_consts[2];
822         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 759         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
823     } 760     }
824     { 761     {
825         PyObject *tmp_assign_source_3; 762         PyObject *tmp_assign_source_3;
826         tmp_assign_source_3 = Py_None; 763         tmp_assign_source_3 = Py_None;
n 827         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 764         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
828     } 765     }
829     { 766     {
830         PyObject *tmp_assign_source_4; 767         PyObject *tmp_assign_source_4;
831         tmp_assign_source_4 = PyDict_New(); 768         tmp_assign_source_4 = PyDict_New();
n 832         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 769         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
833     } 770     }
834     { 771     {
835         PyObject *tmp_assign_source_5; 772         PyObject *tmp_assign_source_5;
836         { 773         {
837             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 774             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 838             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[9]); n 775             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[6]);
839         } 776         }
840 777
841         assert(!(tmp_assign_source_5 == NULL)); 778         assert(!(tmp_assign_source_5 == NULL));
n 842         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_5); n 779         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_5);
843     } 780     }
844     { 781     {
845         PyObject *tmp_assign_source_6; 782         PyObject *tmp_assign_source_6;
846 783
847 784
853         PyObject *tmp_assign_source_7; 790         PyObject *tmp_assign_source_7;
854 791
855 792
856         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 793         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
857 794
n 858         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_7); n 795         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_7);
859     } 796     }
860     { 797     {
861         PyObject *tmp_assign_source_8; 798         PyObject *tmp_assign_source_8;
862         PyObject *tmp_name_name_1; 799         PyObject *tmp_name_name_1;
863         PyObject *tmp_globals_arg_name_1; 800         PyObject *tmp_globals_arg_name_1;
864         PyObject *tmp_locals_arg_name_1; 801         PyObject *tmp_locals_arg_name_1;
865         PyObject *tmp_fromlist_name_1; 802         PyObject *tmp_fromlist_name_1;
866         PyObject *tmp_level_name_1; 803         PyObject *tmp_level_name_1;
n 867         tmp_name_name_1 = mod_consts[11]; n 804         tmp_name_name_1 = mod_consts[8];
868         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__; 805         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__;
869         tmp_locals_arg_name_1 = Py_None; 806         tmp_locals_arg_name_1 = Py_None;
870         tmp_fromlist_name_1 = Py_None; 807         tmp_fromlist_name_1 = Py_None;
n 871         tmp_level_name_1 = mod_consts[12]; n 808         tmp_level_name_1 = mod_consts[9];
872         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1); 809         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1);
873         assert(!(tmp_assign_source_8 == NULL)); 810         assert(!(tmp_assign_source_8 == NULL));
n 874         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_8); n 811         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_8);
875     } 812     }
876     // Frame without reuse. 813     // Frame without reuse.
877     frame_7163070e0368f3ee7e74e1dfbdff5113 = MAKE_MODULE_FRAME(codeobj_7163070e0368f3ee7e74e1dfbdff5113, module___main__); 814     frame_7163070e0368f3ee7e74e1dfbdff5113 = MAKE_MODULE_FRAME(codeobj_7163070e0368f3ee7e74e1dfbdff5113, module___main__);
878 815
879     // Push the new frame as the currently active one, and we should be exclusively 816     // Push the new frame as the currently active one, and we should be exclusively
884     // Framed code: 821     // Framed code:
885     { 822     {
886         PyObject *tmp_assign_source_9; 823         PyObject *tmp_assign_source_9;
887         PyObject *tmp_iter_arg_1; 824         PyObject *tmp_iter_arg_1;
888         PyObject *tmp_called_instance_1; 825         PyObject *tmp_called_instance_1;
n 889         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 826         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[8]);
890 827
891         if (unlikely(tmp_called_instance_1 == NULL)) { 828         if (unlikely(tmp_called_instance_1 == NULL)) {
n 892             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 829             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[8]);
893         } 830         }
894 831
895         assert(!(tmp_called_instance_1 == NULL)); 832         assert(!(tmp_called_instance_1 == NULL));
896         frame_7163070e0368f3ee7e74e1dfbdff5113->m_frame.f_lineno = 41; 833         frame_7163070e0368f3ee7e74e1dfbdff5113->m_frame.f_lineno = 41;
897         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 834         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
898             tmp_called_instance_1, 835             tmp_called_instance_1,
n 899             mod_consts[13], n 836             mod_consts[10],
900             &PyTuple_GET_ITEM(mod_consts[14], 0) 837             &PyTuple_GET_ITEM(mod_consts[11], 0)
901         ); 838         );
902 839
903         if (tmp_iter_arg_1 == NULL) { 840         if (tmp_iter_arg_1 == NULL) {
904             assert(ERROR_OCCURRED()); 841             assert(ERROR_OCCURRED());
905 842
955     } 892     }
956     { 893     {
957         PyObject *tmp_assign_source_11; 894         PyObject *tmp_assign_source_11;
958         CHECK_OBJECT(tmp_for_loop_1__iter_value); 895         CHECK_OBJECT(tmp_for_loop_1__iter_value);
959         tmp_assign_source_11 = tmp_for_loop_1__iter_value; 896         tmp_assign_source_11 = tmp_for_loop_1__iter_value;
n 960         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_11); n 897         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_11);
961     } 898     }
962     { 899     {
963         PyObject *tmp_called_name_1; 900         PyObject *tmp_called_name_1;
964         PyObject *tmp_call_result_1; 901         PyObject *tmp_call_result_1;
n 965         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 902         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]);
966 903
967         if (unlikely(tmp_called_name_1 == NULL)) { 904         if (unlikely(tmp_called_name_1 == NULL)) {
n 968             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]); n 905             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[7]);
969         } 906         }
970 907
971         if (tmp_called_name_1 == NULL) { 908         if (tmp_called_name_1 == NULL) {
972             assert(ERROR_OCCURRED()); 909             assert(ERROR_OCCURRED());
973 910
1036     Py_DECREF(tmp_for_loop_1__for_iterator); 973     Py_DECREF(tmp_for_loop_1__for_iterator);
1037     tmp_for_loop_1__for_iterator = NULL; 974     tmp_for_loop_1__for_iterator = NULL;
1038     { 975     {
1039         PyObject *tmp_called_name_2; 976         PyObject *tmp_called_name_2;
1040         PyObject *tmp_call_result_2; 977         PyObject *tmp_call_result_2;
n 1041         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[16]); n 978         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[13]);
1042         assert(tmp_called_name_2 != NULL); 979         assert(tmp_called_name_2 != NULL);
1043         frame_7163070e0368f3ee7e74e1dfbdff5113->m_frame.f_lineno = 44; 980         frame_7163070e0368f3ee7e74e1dfbdff5113->m_frame.f_lineno = 44;
t 1044         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_2, mod_consts[17]); t 981         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_2, mod_consts[14]);
1045 982
1046         if (tmp_call_result_2 == NULL) { 983         if (tmp_call_result_2 == NULL) {
1047             assert(ERROR_OCCURRED()); 984             assert(ERROR_OCCURRED());
1048 985
1049             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 986             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);