Construct CallCompiledFunctionKwArgsConstant

Performance Diagrams

Construct CallCompiledFunctionKwArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)16405258088.11538461538461257.0CPython 2.758964071240.03846153846155415.296732183013Nuitka (main)58964073391.96153846153845415.2967291703766Nuitka (develop)58964073543.8846153846154415.2967291703766Nuitka (factory)Construct CallCompiledFunctionKwArgsConstantTicks Construct CallCompiledFunctionKwArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)16160796888.11538461538461257.0CPython 3.865117125240.03846153846155404.5445306001725Nuitka (main)65117626391.96153846153845404.5437645190861Nuitka (develop)65117626543.8846153846154404.5437645190861Nuitka (factory)Construct CallCompiledFunctionKwArgsConstantTicks

Source Code with Construct

from __future__ import print_function

def compiled_func(a,b,c):
    return a, b, c

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(a = "some", b = "random", c = "values")
    compiled_f(a = "some", b = "other", c = "values")
    compiled_f(a = "some", b = "new", c = "value set")

# 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):
    return a, b, c

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     compiled_f = compiled_func 26     compiled_f = compiled_func
27 27
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(a = "some", b = "random", c = "values") n 31  
32     compiled_f(a = "some", b = "other", c = "values") 32  
33     compiled_f(a = "some", b = "new", c = "value set") 33  
34 34
35 # construct_alternative 35 # construct_alternative
t 36   t 36     pass
37   37 # construct_end
38 38
39     return compiled_f 39     return compiled_f
40 40
41 import itertools 41 import itertools
42 for x in itertools.repeat(None, 50000): 42 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_2c9f35daeb1cd72ecf99d4edfae8412a; 83 static PyCodeObject *codeobj_2c9f35daeb1cd72ecf99d4edfae8412a;
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[6]; CHECK_OBJECT(module_filename_obj); n 88     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
89     codeobj_737d6926d9a0ffbe458ac85792cc7ad2 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[19], NULL, NULL, 0, 0, 0); 89     codeobj_737d6926d9a0ffbe458ac85792cc7ad2 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], NULL, NULL, 0, 0, 0);
90     codeobj_44207e0f8c252daa71c240b47458e799 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[11], mod_consts[20], NULL, 0, 0, 0); 90     codeobj_44207e0f8c252daa71c240b47458e799 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[7], mod_consts[16], NULL, 0, 0, 0);
91     codeobj_2c9f35daeb1cd72ecf99d4edfae8412a = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[2], NULL, 3, 0, 0); 91     codeobj_2c9f35daeb1cd72ecf99d4edfae8412a = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[17], NULL, 3, 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
160     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 160     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
161     PyObject *exception_type = NULL; 161     PyObject *exception_type = NULL;
162     PyObject *exception_value = NULL; 162     PyObject *exception_value = NULL;
163     PyTracebackObject *exception_tb = NULL; 163     PyTracebackObject *exception_tb = NULL;
164     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 164     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 165     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
166     static struct Nuitka_FrameObject *cache_frame_44207e0f8c252daa71c240b47458e799 = NULL; 165     static struct Nuitka_FrameObject *cache_frame_44207e0f8c252daa71c240b47458e799 = NULL;
167     PyObject *tmp_return_value = NULL; 166     PyObject *tmp_return_value = NULL;
168     PyObject *exception_keeper_type_1; 167     PyObject *exception_keeper_type_1;
169     PyObject *exception_keeper_value_1; 168     PyObject *exception_keeper_value_1;
170     PyTracebackObject *exception_keeper_tb_1; 169     PyTracebackObject *exception_keeper_tb_1;
218             goto frame_exception_exit_1; 217             goto frame_exception_exit_1;
219         } 218         }
220         assert(var_compiled_f == NULL); 219         assert(var_compiled_f == NULL);
221         Py_INCREF(tmp_assign_source_1); 220         Py_INCREF(tmp_assign_source_1);
222         var_compiled_f = tmp_assign_source_1; 221         var_compiled_f = tmp_assign_source_1;
n 223     } n
224     {
225         PyObject *tmp_called_value_1;
226         PyObject *tmp_call_result_1;
227         CHECK_OBJECT(var_compiled_f);
228         tmp_called_value_1 = var_compiled_f;
229         frame_44207e0f8c252daa71c240b47458e799->m_frame.f_lineno = 31;
230         tmp_call_result_1 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_1, &PyTuple_GET_ITEM(mod_consts[1], 0), mod_consts[2]);
231         if (tmp_call_result_1 == NULL) {
232             assert(ERROR_OCCURRED());
233  
234             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
235  
236  
237             exception_lineno = 31;
238             type_description_1 = "o";
239             goto frame_exception_exit_1;
240         }
241         Py_DECREF(tmp_call_result_1);
242     }
243     {
244         PyObject *tmp_called_value_2;
245         PyObject *tmp_call_result_2;
246         CHECK_OBJECT(var_compiled_f);
247         tmp_called_value_2 = var_compiled_f;
248         frame_44207e0f8c252daa71c240b47458e799->m_frame.f_lineno = 32;
249         tmp_call_result_2 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_2, &PyTuple_GET_ITEM(mod_consts[3], 0), mod_consts[2]);
250         if (tmp_call_result_2 == NULL) {
251             assert(ERROR_OCCURRED());
252  
253             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
254  
255  
256             exception_lineno = 32;
257             type_description_1 = "o";
258             goto frame_exception_exit_1;
259         }
260         Py_DECREF(tmp_call_result_2);
261     }
262     {
263         PyObject *tmp_called_value_3;
264         PyObject *tmp_call_result_3;
265         CHECK_OBJECT(var_compiled_f);
266         tmp_called_value_3 = var_compiled_f;
267         frame_44207e0f8c252daa71c240b47458e799->m_frame.f_lineno = 33;
268         tmp_call_result_3 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_3, &PyTuple_GET_ITEM(mod_consts[4], 0), mod_consts[2]);
269         if (tmp_call_result_3 == NULL) {
270             assert(ERROR_OCCURRED());
271  
272             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
273  
274  
275             exception_lineno = 33;
276             type_description_1 = "o";
277             goto frame_exception_exit_1;
278         }
279         Py_DECREF(tmp_call_result_3);
280     } 222     }
281 223
282 #if 0 224 #if 0
283     RESTORE_FRAME_EXCEPTION(frame_44207e0f8c252daa71c240b47458e799); 225     RESTORE_FRAME_EXCEPTION(frame_44207e0f8c252daa71c240b47458e799);
284 #endif 226 #endif
349     exception_type = NULL; 291     exception_type = NULL;
350     exception_value = NULL; 292     exception_value = NULL;
351     exception_tb = NULL; 293     exception_tb = NULL;
352     exception_lineno = 0; 294     exception_lineno = 0;
353 295
n 354     Py_XDECREF(var_compiled_f); n
355     var_compiled_f = NULL;
356     // Re-raise. 296     // Re-raise.
357     exception_type = exception_keeper_type_1; 297     exception_type = exception_keeper_type_1;
358     exception_value = exception_keeper_value_1; 298     exception_value = exception_keeper_value_1;
359     exception_tb = exception_keeper_tb_1; 299     exception_tb = exception_keeper_tb_1;
360     exception_lineno = exception_keeper_lineno_1; 300     exception_lineno = exception_keeper_lineno_1;
410 350
411 351
412 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 352 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
413     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 353     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
414         impl___main__$$$function__2_calledRepeatedly, 354         impl___main__$$$function__2_calledRepeatedly,
n 415         mod_consts[11], n 355         mod_consts[7],
416 #if PYTHON_VERSION >= 0x300 356 #if PYTHON_VERSION >= 0x300
417         NULL, 357         NULL,
418 #endif 358 #endif
419         codeobj_44207e0f8c252daa71c240b47458e799, 359         codeobj_44207e0f8c252daa71c240b47458e799,
420         NULL, 360         NULL,
796 736
797     // Module code. 737     // Module code.
798     { 738     {
799         PyObject *tmp_assign_source_1; 739         PyObject *tmp_assign_source_1;
800         tmp_assign_source_1 = Py_None; 740         tmp_assign_source_1 = Py_None;
n 801         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_1); n 741         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
802     } 742     }
803     { 743     {
804         PyObject *tmp_assign_source_2; 744         PyObject *tmp_assign_source_2;
n 805         tmp_assign_source_2 = mod_consts[6]; n 745         tmp_assign_source_2 = mod_consts[2];
806         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_2); 746         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
807     } 747     }
808     { 748     {
809         PyObject *tmp_assign_source_3; 749         PyObject *tmp_assign_source_3;
810         tmp_assign_source_3 = Py_None; 750         tmp_assign_source_3 = Py_None;
n 811         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_3); n 751         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
812     } 752     }
813     { 753     {
814         PyObject *tmp_assign_source_4; 754         PyObject *tmp_assign_source_4;
815         tmp_assign_source_4 = PyDict_New(); 755         tmp_assign_source_4 = PyDict_New();
n 816         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_4); n 756         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
817     } 757     }
818     { 758     {
819         PyObject *tmp_assign_source_5; 759         PyObject *tmp_assign_source_5;
820         { 760         {
821             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 761             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 822             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[10]); n 762             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[6]);
823         } 763         }
824 764
825         assert(!(tmp_assign_source_5 == NULL)); 765         assert(!(tmp_assign_source_5 == NULL));
n 826         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_5); n 766         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_5);
827     } 767     }
828     { 768     {
829         PyObject *tmp_assign_source_6; 769         PyObject *tmp_assign_source_6;
830 770
831 771
837         PyObject *tmp_assign_source_7; 777         PyObject *tmp_assign_source_7;
838 778
839 779
840         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 780         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
841 781
n 842         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_7); n 782         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_7);
843     } 783     }
844     { 784     {
845         PyObject *tmp_assign_source_8; 785         PyObject *tmp_assign_source_8;
846         PyObject *tmp_name_value_1; 786         PyObject *tmp_name_value_1;
847         PyObject *tmp_globals_arg_value_1; 787         PyObject *tmp_globals_arg_value_1;
848         PyObject *tmp_locals_arg_value_1; 788         PyObject *tmp_locals_arg_value_1;
849         PyObject *tmp_fromlist_value_1; 789         PyObject *tmp_fromlist_value_1;
850         PyObject *tmp_level_value_1; 790         PyObject *tmp_level_value_1;
n 851         tmp_name_value_1 = mod_consts[12]; n 791         tmp_name_value_1 = mod_consts[8];
852         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 792         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
853         tmp_locals_arg_value_1 = Py_None; 793         tmp_locals_arg_value_1 = Py_None;
854         tmp_fromlist_value_1 = Py_None; 794         tmp_fromlist_value_1 = Py_None;
n 855         tmp_level_value_1 = mod_consts[13]; n 795         tmp_level_value_1 = mod_consts[9];
856         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1); 796         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1);
857         assert(!(tmp_assign_source_8 == NULL)); 797         assert(!(tmp_assign_source_8 == NULL));
n 858         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_8); n 798         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_8);
859     } 799     }
860     // Frame without reuse. 800     // Frame without reuse.
861     frame_737d6926d9a0ffbe458ac85792cc7ad2 = MAKE_MODULE_FRAME(codeobj_737d6926d9a0ffbe458ac85792cc7ad2, module___main__); 801     frame_737d6926d9a0ffbe458ac85792cc7ad2 = MAKE_MODULE_FRAME(codeobj_737d6926d9a0ffbe458ac85792cc7ad2, module___main__);
862 802
863     // Push the new frame as the currently active one, and we should be exclusively 803     // Push the new frame as the currently active one, and we should be exclusively
868     // Framed code: 808     // Framed code:
869     { 809     {
870         PyObject *tmp_assign_source_9; 810         PyObject *tmp_assign_source_9;
871         PyObject *tmp_iter_arg_1; 811         PyObject *tmp_iter_arg_1;
872         PyObject *tmp_called_instance_1; 812         PyObject *tmp_called_instance_1;
n 873         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[12]); n 813         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[8]);
874 814
875         if (unlikely(tmp_called_instance_1 == NULL)) { 815         if (unlikely(tmp_called_instance_1 == NULL)) {
n 876             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[12]); n 816             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[8]);
877         } 817         }
878 818
879         assert(!(tmp_called_instance_1 == NULL)); 819         assert(!(tmp_called_instance_1 == NULL));
880         frame_737d6926d9a0ffbe458ac85792cc7ad2->m_frame.f_lineno = 42; 820         frame_737d6926d9a0ffbe458ac85792cc7ad2->m_frame.f_lineno = 42;
881         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 821         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
882             tmp_called_instance_1, 822             tmp_called_instance_1,
n 883             mod_consts[14], n 823             mod_consts[10],
884             &PyTuple_GET_ITEM(mod_consts[15], 0) 824             &PyTuple_GET_ITEM(mod_consts[11], 0)
885         ); 825         );
886 826
887         if (tmp_iter_arg_1 == NULL) { 827         if (tmp_iter_arg_1 == NULL) {
888             assert(ERROR_OCCURRED()); 828             assert(ERROR_OCCURRED());
889 829
939     } 879     }
940     { 880     {
941         PyObject *tmp_assign_source_11; 881         PyObject *tmp_assign_source_11;
942         CHECK_OBJECT(tmp_for_loop_1__iter_value); 882         CHECK_OBJECT(tmp_for_loop_1__iter_value);
943         tmp_assign_source_11 = tmp_for_loop_1__iter_value; 883         tmp_assign_source_11 = tmp_for_loop_1__iter_value;
n 944         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[16], tmp_assign_source_11); n 884         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_11);
945     } 885     }
946     { 886     {
947         PyObject *tmp_called_value_1; 887         PyObject *tmp_called_value_1;
948         PyObject *tmp_call_result_1; 888         PyObject *tmp_call_result_1;
n 949         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 889         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]);
950 890
951         if (unlikely(tmp_called_value_1 == NULL)) { 891         if (unlikely(tmp_called_value_1 == NULL)) {
n 952             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 892             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[7]);
953         } 893         }
954 894
955         if (tmp_called_value_1 == NULL) { 895         if (tmp_called_value_1 == NULL) {
956             assert(ERROR_OCCURRED()); 896             assert(ERROR_OCCURRED());
957 897
1020     Py_DECREF(tmp_for_loop_1__for_iterator); 960     Py_DECREF(tmp_for_loop_1__for_iterator);
1021     tmp_for_loop_1__for_iterator = NULL; 961     tmp_for_loop_1__for_iterator = NULL;
1022     { 962     {
1023         PyObject *tmp_called_value_2; 963         PyObject *tmp_called_value_2;
1024         PyObject *tmp_call_result_2; 964         PyObject *tmp_call_result_2;
n 1025         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[17]); n 965         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[13]);
1026         assert(tmp_called_value_2 != NULL); 966         assert(tmp_called_value_2 != NULL);
1027         frame_737d6926d9a0ffbe458ac85792cc7ad2->m_frame.f_lineno = 45; 967         frame_737d6926d9a0ffbe458ac85792cc7ad2->m_frame.f_lineno = 45;
t 1028         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[18]); t 968         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[14]);
1029 969
1030         if (tmp_call_result_2 == NULL) { 970         if (tmp_call_result_2 == NULL) {
1031             assert(ERROR_OCCURRED()); 971             assert(ERROR_OCCURRED());
1032 972
1033             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 973             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);