Construct CallCompiledFunctionKwArgsVariable

Performance Diagrams

Construct CallCompiledFunctionKwArgsVariable 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)16494903388.11538461538461257.0CPython 2.759549979240.03846153846155414.90166994981837Nuitka (main)59549979391.96153846153845414.90166994981837Nuitka (develop)59549979543.8846153846154414.90166994981837Nuitka (factory)Construct CallCompiledFunctionKwArgsVariableTicks Construct CallCompiledFunctionKwArgsVariable 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)16250739688.11538461538461257.0CPython 3.865651518240.03846153846155404.28300454848693Nuitka (main)65652041391.96153846153845404.28220925332295Nuitka (develop)65652041543.8846153846154404.28220925332295Nuitka (factory)Construct CallCompiledFunctionKwArgsVariableTicks

Source Code with Construct

from __future__ import print_function

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

def getUnknownValue():
    return 8

def calledRepeatedly():
    a = getUnknownValue()
    b = getUnknownValue()
    c = getUnknownValue()

    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=a, b=b, c=c)
    compiled_f(a=a, b=b, c=c)
    compiled_f(a=a, b=b, c=c)
# 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 getUnknownValue():
    return 8

def calledRepeatedly():
    a = getUnknownValue()
    b = getUnknownValue()
    c = getUnknownValue()

    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
33     compiled_f = compiled_func 33     compiled_f = compiled_func
34 34
35     # This is supposed to make a call to a compiled function, which is 35     # This is supposed to make a call to a compiled function, which is
36     # being optimized separately. 36     # being optimized separately.
37 # construct_begin 37 # construct_begin
n 38     compiled_f(a=a, b=b, c=c) n
39     compiled_f(a=a, b=b, c=c)
40     compiled_f(a=a, b=b, c=c)
41 # construct_alternative
42 38
43 39
t t 40  
41 # construct_alternative
42     pass
43 # construct_end
44 44
45     return compiled_f 45     return compiled_f
46 46
47 import itertools 47 import itertools
48 for x in itertools.repeat(None, 50000): 48 for x in itertools.repeat(None, 50000):

Context Diff of Generated Code


Construct
Baseline
84 static PyCodeObject *codeobj_52c9f82ac0a89811fb5afb45645c7618; 84 static PyCodeObject *codeobj_52c9f82ac0a89811fb5afb45645c7618;
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[4]; CHECK_OBJECT(module_filename_obj); n 89     module_filename_obj = mod_consts[3]; CHECK_OBJECT(module_filename_obj);
90     codeobj_c2505d7e54d371996864e4b5e2984e4b = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0); 90     codeobj_c2505d7e54d371996864e4b5e2984e4b = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[17], NULL, NULL, 0, 0, 0);
91     codeobj_f4ea59f60de5cb8f284909e0148d1cf4 = MAKE_CODEOBJECT(module_filename_obj, 28, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[19], NULL, 0, 0, 0); 91     codeobj_f4ea59f60de5cb8f284909e0148d1cf4 = MAKE_CODEOBJECT(module_filename_obj, 28, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[9], mod_consts[18], NULL, 0, 0, 0);
92     codeobj_04f38943de94b1e8162cf8ff1d8d79d0 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[1], mod_consts[2], NULL, 3, 0, 0); 92     codeobj_04f38943de94b1e8162cf8ff1d8d79d0 = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[1], mod_consts[19], NULL, 3, 0, 0);
93     codeobj_52c9f82ac0a89811fb5afb45645c7618 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], NULL, NULL, 0, 0, 0); 93     codeobj_52c9f82ac0a89811fb5afb45645c7618 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], NULL, NULL, 0, 0, 0);
94 } 94 }
95 95
96 // The module function declarations. 96 // The module function declarations.
97 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func(); 97 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func();
168     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 168     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
169     PyObject *exception_type = NULL; 169     PyObject *exception_type = NULL;
170     PyObject *exception_value = NULL; 170     PyObject *exception_value = NULL;
171     PyTracebackObject *exception_tb = NULL; 171     PyTracebackObject *exception_tb = NULL;
172     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 172     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 173     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
174     static struct Nuitka_FrameObject *cache_frame_f4ea59f60de5cb8f284909e0148d1cf4 = NULL; 173     static struct Nuitka_FrameObject *cache_frame_f4ea59f60de5cb8f284909e0148d1cf4 = NULL;
175     PyObject *tmp_return_value = NULL; 174     PyObject *tmp_return_value = NULL;
176     PyObject *exception_keeper_type_1; 175     PyObject *exception_keeper_type_1;
177     PyObject *exception_keeper_value_1; 176     PyObject *exception_keeper_value_1;
178     PyTracebackObject *exception_keeper_tb_1; 177     PyTracebackObject *exception_keeper_tb_1;
328             goto frame_exception_exit_1; 327             goto frame_exception_exit_1;
329         } 328         }
330         assert(var_compiled_f == NULL); 329         assert(var_compiled_f == NULL);
331         Py_INCREF(tmp_assign_source_4); 330         Py_INCREF(tmp_assign_source_4);
332         var_compiled_f = tmp_assign_source_4; 331         var_compiled_f = tmp_assign_source_4;
n 333     } n
334     {
335         PyObject *tmp_called_value_4;
336         PyObject *tmp_call_result_1;
337         PyObject *tmp_kw_call_value_0_1;
338         PyObject *tmp_kw_call_value_1_1;
339         PyObject *tmp_kw_call_value_2_1;
340         CHECK_OBJECT(var_compiled_f);
341         tmp_called_value_4 = var_compiled_f;
342         CHECK_OBJECT(var_a);
343         tmp_kw_call_value_0_1 = var_a;
344         CHECK_OBJECT(var_b);
345         tmp_kw_call_value_1_1 = var_b;
346         CHECK_OBJECT(var_c);
347         tmp_kw_call_value_2_1 = var_c;
348         frame_f4ea59f60de5cb8f284909e0148d1cf4->m_frame.f_lineno = 38;
349         {
350             PyObject *kw_values[3] = {tmp_kw_call_value_0_1, tmp_kw_call_value_1_1, tmp_kw_call_value_2_1};
351  
352             tmp_call_result_1 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_4, kw_values, mod_consts[2]);
353         }
354  
355         if (tmp_call_result_1 == NULL) {
356             assert(ERROR_OCCURRED());
357  
358             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
359  
360  
361             exception_lineno = 38;
362             type_description_1 = "oooo";
363             goto frame_exception_exit_1;
364         }
365         Py_DECREF(tmp_call_result_1);
366     }
367     {
368         PyObject *tmp_called_value_5;
369         PyObject *tmp_call_result_2;
370         PyObject *tmp_kw_call_value_0_2;
371         PyObject *tmp_kw_call_value_1_2;
372         PyObject *tmp_kw_call_value_2_2;
373         CHECK_OBJECT(var_compiled_f);
374         tmp_called_value_5 = var_compiled_f;
375         CHECK_OBJECT(var_a);
376         tmp_kw_call_value_0_2 = var_a;
377         CHECK_OBJECT(var_b);
378         tmp_kw_call_value_1_2 = var_b;
379         CHECK_OBJECT(var_c);
380         tmp_kw_call_value_2_2 = var_c;
381         frame_f4ea59f60de5cb8f284909e0148d1cf4->m_frame.f_lineno = 39;
382         {
383             PyObject *kw_values[3] = {tmp_kw_call_value_0_2, tmp_kw_call_value_1_2, tmp_kw_call_value_2_2};
384  
385             tmp_call_result_2 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_5, kw_values, mod_consts[2]);
386         }
387  
388         if (tmp_call_result_2 == NULL) {
389             assert(ERROR_OCCURRED());
390  
391             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
392  
393  
394             exception_lineno = 39;
395             type_description_1 = "oooo";
396             goto frame_exception_exit_1;
397         }
398         Py_DECREF(tmp_call_result_2);
399     }
400     {
401         PyObject *tmp_called_value_6;
402         PyObject *tmp_call_result_3;
403         PyObject *tmp_kw_call_value_0_3;
404         PyObject *tmp_kw_call_value_1_3;
405         PyObject *tmp_kw_call_value_2_3;
406         CHECK_OBJECT(var_compiled_f);
407         tmp_called_value_6 = var_compiled_f;
408         CHECK_OBJECT(var_a);
409         tmp_kw_call_value_0_3 = var_a;
410         CHECK_OBJECT(var_b);
411         tmp_kw_call_value_1_3 = var_b;
412         CHECK_OBJECT(var_c);
413         tmp_kw_call_value_2_3 = var_c;
414         frame_f4ea59f60de5cb8f284909e0148d1cf4->m_frame.f_lineno = 40;
415         {
416             PyObject *kw_values[3] = {tmp_kw_call_value_0_3, tmp_kw_call_value_1_3, tmp_kw_call_value_2_3};
417  
418             tmp_call_result_3 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tmp_called_value_6, kw_values, mod_consts[2]);
419         }
420  
421         if (tmp_call_result_3 == NULL) {
422             assert(ERROR_OCCURRED());
423  
424             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
425  
426  
427             exception_lineno = 40;
428             type_description_1 = "oooo";
429             goto frame_exception_exit_1;
430         }
431         Py_DECREF(tmp_call_result_3);
432     } 332     }
433 333
434 #if 0 334 #if 0
435     RESTORE_FRAME_EXCEPTION(frame_f4ea59f60de5cb8f284909e0148d1cf4); 335     RESTORE_FRAME_EXCEPTION(frame_f4ea59f60de5cb8f284909e0148d1cf4);
436 #endif 336 #endif
519     var_a = NULL; 419     var_a = NULL;
520     Py_XDECREF(var_b); 420     Py_XDECREF(var_b);
521     var_b = NULL; 421     var_b = NULL;
522     Py_XDECREF(var_c); 422     Py_XDECREF(var_c);
523     var_c = NULL; 423     var_c = NULL;
n 524     Py_XDECREF(var_compiled_f); n
525     var_compiled_f = NULL;
526     // Re-raise. 424     // Re-raise.
527     exception_type = exception_keeper_type_1; 425     exception_type = exception_keeper_type_1;
528     exception_value = exception_keeper_value_1; 426     exception_value = exception_keeper_value_1;
529     exception_tb = exception_keeper_tb_1; 427     exception_tb = exception_keeper_tb_1;
530     exception_lineno = exception_keeper_lineno_1; 428     exception_lineno = exception_keeper_lineno_1;
595         module___main__, 493         module___main__,
596         NULL, 494         NULL,
597         NULL, 495         NULL,
598         0 496         0
599     ); 497     );
n 600     Nuitka_Function_EnableConstReturnGeneric(result, mod_consts[9]); n 498     Nuitka_Function_EnableConstReturnGeneric(result, mod_consts[8]);
601 499
602     return (PyObject *)result; 500     return (PyObject *)result;
603 } 501 }
604 502
605 503
606 504
607 static PyObject *MAKE_FUNCTION___main__$$$function__3_calledRepeatedly() { 505 static PyObject *MAKE_FUNCTION___main__$$$function__3_calledRepeatedly() {
608     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 506     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
609         impl___main__$$$function__3_calledRepeatedly, 507         impl___main__$$$function__3_calledRepeatedly,
n 610         mod_consts[10], n 508         mod_consts[9],
611 #if PYTHON_VERSION >= 0x300 509 #if PYTHON_VERSION >= 0x300
612         NULL, 510         NULL,
613 #endif 511 #endif
614         codeobj_f4ea59f60de5cb8f284909e0148d1cf4, 512         codeobj_f4ea59f60de5cb8f284909e0148d1cf4,
615         NULL, 513         NULL,
992 890
993     // Module code. 891     // Module code.
994     { 892     {
995         PyObject *tmp_assign_source_1; 893         PyObject *tmp_assign_source_1;
996         tmp_assign_source_1 = Py_None; 894         tmp_assign_source_1 = Py_None;
n 997         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1); n 895         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_1);
998     } 896     }
999     { 897     {
1000         PyObject *tmp_assign_source_2; 898         PyObject *tmp_assign_source_2;
n 1001         tmp_assign_source_2 = mod_consts[4]; n 899         tmp_assign_source_2 = mod_consts[3];
1002         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2); 900         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_2);
1003     } 901     }
1004     { 902     {
1005         PyObject *tmp_assign_source_3; 903         PyObject *tmp_assign_source_3;
1006         tmp_assign_source_3 = Py_None; 904         tmp_assign_source_3 = Py_None;
n 1007         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3); n 905         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_3);
1008     } 906     }
1009     { 907     {
1010         PyObject *tmp_assign_source_4; 908         PyObject *tmp_assign_source_4;
1011         tmp_assign_source_4 = PyDict_New(); 909         tmp_assign_source_4 = PyDict_New();
n 1012         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4); n 910         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_4);
1013     } 911     }
1014     { 912     {
1015         PyObject *tmp_assign_source_5; 913         PyObject *tmp_assign_source_5;
1016         { 914         {
1017             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 915             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 1018             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[8]); n 916             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[7]);
1019         } 917         }
1020 918
1021         assert(!(tmp_assign_source_5 == NULL)); 919         assert(!(tmp_assign_source_5 == NULL));
n 1022         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_5); n 920         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_5);
1023     } 921     }
1024     { 922     {
1025         PyObject *tmp_assign_source_6; 923         PyObject *tmp_assign_source_6;
1026 924
1027 925
1041         PyObject *tmp_assign_source_8; 939         PyObject *tmp_assign_source_8;
1042 940
1043 941
1044         tmp_assign_source_8 = MAKE_FUNCTION___main__$$$function__3_calledRepeatedly(); 942         tmp_assign_source_8 = MAKE_FUNCTION___main__$$$function__3_calledRepeatedly();
1045 943
n 1046         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_8); n 944         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_8);
1047     } 945     }
1048     { 946     {
1049         PyObject *tmp_assign_source_9; 947         PyObject *tmp_assign_source_9;
1050         PyObject *tmp_name_value_1; 948         PyObject *tmp_name_value_1;
1051         PyObject *tmp_globals_arg_value_1; 949         PyObject *tmp_globals_arg_value_1;
1052         PyObject *tmp_locals_arg_value_1; 950         PyObject *tmp_locals_arg_value_1;
1053         PyObject *tmp_fromlist_value_1; 951         PyObject *tmp_fromlist_value_1;
1054         PyObject *tmp_level_value_1; 952         PyObject *tmp_level_value_1;
n 1055         tmp_name_value_1 = mod_consts[11]; n 953         tmp_name_value_1 = mod_consts[10];
1056         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 954         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
1057         tmp_locals_arg_value_1 = Py_None; 955         tmp_locals_arg_value_1 = Py_None;
1058         tmp_fromlist_value_1 = Py_None; 956         tmp_fromlist_value_1 = Py_None;
n 1059         tmp_level_value_1 = mod_consts[12]; n 957         tmp_level_value_1 = mod_consts[11];
1060         tmp_assign_source_9 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1); 958         tmp_assign_source_9 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1);
1061         assert(!(tmp_assign_source_9 == NULL)); 959         assert(!(tmp_assign_source_9 == NULL));
n 1062         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_9); n 960         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_9);
1063     } 961     }
1064     // Frame without reuse. 962     // Frame without reuse.
1065     frame_c2505d7e54d371996864e4b5e2984e4b = MAKE_MODULE_FRAME(codeobj_c2505d7e54d371996864e4b5e2984e4b, module___main__); 963     frame_c2505d7e54d371996864e4b5e2984e4b = MAKE_MODULE_FRAME(codeobj_c2505d7e54d371996864e4b5e2984e4b, module___main__);
1066 964
1067     // Push the new frame as the currently active one, and we should be exclusively 965     // Push the new frame as the currently active one, and we should be exclusively
1072     // Framed code: 970     // Framed code:
1073     { 971     {
1074         PyObject *tmp_assign_source_10; 972         PyObject *tmp_assign_source_10;
1075         PyObject *tmp_iter_arg_1; 973         PyObject *tmp_iter_arg_1;
1076         PyObject *tmp_called_instance_1; 974         PyObject *tmp_called_instance_1;
n 1077         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 975         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]);
1078 976
1079         if (unlikely(tmp_called_instance_1 == NULL)) { 977         if (unlikely(tmp_called_instance_1 == NULL)) {
n 1080             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 978             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]);
1081         } 979         }
1082 980
1083         assert(!(tmp_called_instance_1 == NULL)); 981         assert(!(tmp_called_instance_1 == NULL));
1084         frame_c2505d7e54d371996864e4b5e2984e4b->m_frame.f_lineno = 48; 982         frame_c2505d7e54d371996864e4b5e2984e4b->m_frame.f_lineno = 48;
1085         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 983         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
1086             tmp_called_instance_1, 984             tmp_called_instance_1,
n 1087             mod_consts[13], n 985             mod_consts[12],
1088             &PyTuple_GET_ITEM(mod_consts[14], 0) 986             &PyTuple_GET_ITEM(mod_consts[13], 0)
1089         ); 987         );
1090 988
1091         if (tmp_iter_arg_1 == NULL) { 989         if (tmp_iter_arg_1 == NULL) {
1092             assert(ERROR_OCCURRED()); 990             assert(ERROR_OCCURRED());
1093 991
1143     } 1041     }
1144     { 1042     {
1145         PyObject *tmp_assign_source_12; 1043         PyObject *tmp_assign_source_12;
1146         CHECK_OBJECT(tmp_for_loop_1__iter_value); 1044         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1147         tmp_assign_source_12 = tmp_for_loop_1__iter_value; 1045         tmp_assign_source_12 = tmp_for_loop_1__iter_value;
n 1148         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_12); n 1046         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_12);
1149     } 1047     }
1150     { 1048     {
1151         PyObject *tmp_called_value_1; 1049         PyObject *tmp_called_value_1;
1152         PyObject *tmp_call_result_1; 1050         PyObject *tmp_call_result_1;
n 1153         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 1051         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]);
1154 1052
1155         if (unlikely(tmp_called_value_1 == NULL)) { 1053         if (unlikely(tmp_called_value_1 == NULL)) {
n 1156             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]); n 1054             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[9]);
1157         } 1055         }
1158 1056
1159         if (tmp_called_value_1 == NULL) { 1057         if (tmp_called_value_1 == NULL) {
1160             assert(ERROR_OCCURRED()); 1058             assert(ERROR_OCCURRED());
1161 1059
1224     Py_DECREF(tmp_for_loop_1__for_iterator); 1122     Py_DECREF(tmp_for_loop_1__for_iterator);
1225     tmp_for_loop_1__for_iterator = NULL; 1123     tmp_for_loop_1__for_iterator = NULL;
1226     { 1124     {
1227         PyObject *tmp_called_value_2; 1125         PyObject *tmp_called_value_2;
1228         PyObject *tmp_call_result_2; 1126         PyObject *tmp_call_result_2;
n 1229         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[16]); n 1127         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[15]);
1230         assert(tmp_called_value_2 != NULL); 1128         assert(tmp_called_value_2 != NULL);
1231         frame_c2505d7e54d371996864e4b5e2984e4b->m_frame.f_lineno = 51; 1129         frame_c2505d7e54d371996864e4b5e2984e4b->m_frame.f_lineno = 51;
t 1232         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[17]); t 1130         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[16]);
1233 1131
1234         if (tmp_call_result_2 == NULL) { 1132         if (tmp_call_result_2 == NULL) {
1235             assert(ERROR_OCCURRED()); 1133             assert(ERROR_OCCURRED());
1236 1134
1237             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1135             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);