Construct CallCompiledFunctionPosArgsConstant

Performance Diagrams

Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)17911117188.11538461538461257.0CPython 3.1044106842240.03846153846155443.2622331109483Nuitka (main)44104483391.96153846153845443.26548776664094Nuitka (develop)44109841543.8846153846154443.25809546261337Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks Construct CallCompiledFunctionPosArgsConstant 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000140000000140000000150000000150000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)15800916488.11538461538461257.0CPython 3.840819548240.03846153846155440.2764397814878Nuitka (main)40856725391.96153846153845440.218297529347Nuitka (develop)40853850543.8846153846154440.2227938301487Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks Construct CallCompiledFunctionPosArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)18085536888.11538461538461257.0CPython 2.743362258240.03846153846155444.8664876544631Nuitka (main)43362478391.96153846153845444.86618705302004Nuitka (develop)43362048543.8846153846154444.8667745922043Nuitka (factory)Construct CallCompiledFunctionPosArgsConstantTicks

Source Code with Construct

    compiled_f("some", "new", "values", "to", "check", "call")
    # construct_alternative



    return compiled_f


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

Source Code without Construct

    # construct_alternative
    pass
    # construct_end

    return compiled_f


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

Context Diff of Source Code


Construct
Baseline
13 def calledRepeatedly(): 13 def calledRepeatedly():
14     compiled_f = compiled_func 14     compiled_f = compiled_func
15     # This is supposed to make a call to a compiled function, which is 15     # This is supposed to make a call to a compiled function, which is
16     # being optimized separately. 16     # being optimized separately.
17     # construct_begin 17     # construct_begin
n 18     compiled_f("some", "random", "values", "to", "check", "call") n
19     compiled_f("some", "other", "values", "to", "check", "call")
20     compiled_f("some", "new", "values", "to", "check", "call")
21     # construct_alternative
22 18
23 19
t t 20  
21     # construct_alternative
22     pass
23     # construct_end
24 24
25     return compiled_f 25     return compiled_f
26 26
27 27
28 for x in itertools.repeat(None, 50000): 28 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[18]; n 36 static PyObject *mod_consts[15];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[18]; n 38 static Py_hash_t mod_consts_hash[15];
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(tstate, &mod_consts[0], UNTRANSLATE("__main__")); 49         loadConstantsBlob(tstate, &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 < 18; i++) { n 53         for (int i = 0; i < 15; i++) {
54             mod_consts_hash[i] = DEEP_HASH(tstate, mod_consts[i]); 54             mod_consts_hash[i] = DEEP_HASH(tstate, 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__(PyThreadState *tstate) { 69 void checkModuleConstants___main__(PyThreadState *tstate) {
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 < 18; i++) { n 73     for (int i = 0; i < 15; i++) {
74         assert(mod_consts_hash[i] == DEEP_HASH(tstate, mod_consts[i])); 74         assert(mod_consts_hash[i] == DEEP_HASH(tstate, 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_d13da6638ee5e8aa6ab5a58a3ac10a48; 83 static PyCodeObject *codeobj_d13da6638ee5e8aa6ab5a58a3ac10a48;
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_52458a1fe2843e61fe62e879d755afb3 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[15], mod_consts[15], NULL, NULL, 0, 0, 0); 89     codeobj_52458a1fe2843e61fe62e879d755afb3 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[12], mod_consts[12], NULL, NULL, 0, 0, 0);
90     codeobj_main = codeobj_52458a1fe2843e61fe62e879d755afb3; 90     codeobj_main = codeobj_52458a1fe2843e61fe62e879d755afb3;
n 91     codeobj_360adfae2915afef006f011d79b764a6 = MAKE_CODE_OBJECT(module_filename_obj, 13, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[9], mod_consts[9], mod_consts[16], NULL, 0, 0, 0); n 91     codeobj_360adfae2915afef006f011d79b764a6 = MAKE_CODE_OBJECT(module_filename_obj, 13, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[6], mod_consts[6], mod_consts[13], NULL, 0, 0, 0);
92     codeobj_d13da6638ee5e8aa6ab5a58a3ac10a48 = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[0], mod_consts[0], mod_consts[17], NULL, 6, 0, 0); 92     codeobj_d13da6638ee5e8aa6ab5a58a3ac10a48 = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[0], mod_consts[0], mod_consts[14], NULL, 6, 0, 0);
93 } 93 }
94 94
95 // The module function declarations. 95 // The module function declarations.
96 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func(); 96 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func();
97 97
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_360adfae2915afef006f011d79b764a6 = NULL; 184     static struct Nuitka_FrameObject *cache_frame_360adfae2915afef006f011d79b764a6 = 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_value_1;
245         PyObject *tmp_call_result_1;
246         CHECK_OBJECT(var_compiled_f);
247         tmp_called_value_1 = var_compiled_f;
248         frame_360adfae2915afef006f011d79b764a6->m_frame.f_lineno = 18;
249         tmp_call_result_1 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_1, mod_consts[1]);
250  
251         if (tmp_call_result_1 == NULL) {
252             assert(HAS_ERROR_OCCURRED(tstate));
253  
254             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
255  
256  
257             exception_lineno = 18;
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_value_2;
265         PyObject *tmp_call_result_2;
266         CHECK_OBJECT(var_compiled_f);
267         tmp_called_value_2 = var_compiled_f;
268         frame_360adfae2915afef006f011d79b764a6->m_frame.f_lineno = 19;
269         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_2, mod_consts[2]);
270  
271         if (tmp_call_result_2 == NULL) {
272             assert(HAS_ERROR_OCCURRED(tstate));
273  
274             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
275  
276  
277             exception_lineno = 19;
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_value_3;
285         PyObject *tmp_call_result_3;
286         CHECK_OBJECT(var_compiled_f);
287         tmp_called_value_3 = var_compiled_f;
288         frame_360adfae2915afef006f011d79b764a6->m_frame.f_lineno = 20;
289         tmp_call_result_3 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_3, mod_consts[3]);
290  
291         if (tmp_call_result_3 == NULL) {
292             assert(HAS_ERROR_OCCURRED(tstate));
293  
294             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
295  
296  
297             exception_lineno = 20;
298             type_description_1 = "o";
299             goto frame_exception_exit_1;
300         }
301         Py_DECREF(tmp_call_result_3);
302     } 241     }
303 242
304 243
305     // Put the previous frame back on top. 244     // Put the previous frame back on top.
306     popFrameStack(tstate); 245     popFrameStack(tstate);
362     exception_type = NULL; 301     exception_type = NULL;
363     exception_value = NULL; 302     exception_value = NULL;
364     exception_tb = NULL; 303     exception_tb = NULL;
365     exception_lineno = 0; 304     exception_lineno = 0;
366 305
n 367     Py_XDECREF(var_compiled_f); n
368     var_compiled_f = NULL;
369     // Re-raise. 306     // Re-raise.
370     exception_type = exception_keeper_type_1; 307     exception_type = exception_keeper_type_1;
371     exception_value = exception_keeper_value_1; 308     exception_value = exception_keeper_value_1;
372     exception_tb = exception_keeper_tb_1; 309     exception_tb = exception_keeper_tb_1;
373     exception_lineno = exception_keeper_lineno_1; 310     exception_lineno = exception_keeper_lineno_1;
424 361
425 362
426 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 363 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
427     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 364     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
428         impl___main__$$$function__2_calledRepeatedly, 365         impl___main__$$$function__2_calledRepeatedly,
n 429         mod_consts[9], n 366         mod_consts[6],
430 #if PYTHON_VERSION >= 0x300 367 #if PYTHON_VERSION >= 0x300
431         NULL, 368         NULL,
432 #endif 369 #endif
433         codeobj_360adfae2915afef006f011d79b764a6, 370         codeobj_360adfae2915afef006f011d79b764a6,
434         NULL, 371         NULL,
805 742
806     // Module code. 743     // Module code.
807     { 744     {
808         PyObject *tmp_assign_source_1; 745         PyObject *tmp_assign_source_1;
809         tmp_assign_source_1 = Py_None; 746         tmp_assign_source_1 = Py_None;
n 810         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 747         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
811     } 748     }
812     { 749     {
813         PyObject *tmp_assign_source_2; 750         PyObject *tmp_assign_source_2;
n 814         tmp_assign_source_2 = mod_consts[5]; n 751         tmp_assign_source_2 = mod_consts[2];
815         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 752         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
816     } 753     }
817     { 754     {
818         PyObject *tmp_assign_source_3; 755         PyObject *tmp_assign_source_3;
819         { 756         {
820             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 757             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 821             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[7]); n 758             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[4]);
822         } 759         }
823         assert(!(tmp_assign_source_3 == NULL)); 760         assert(!(tmp_assign_source_3 == NULL));
n 824         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 761         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
825     } 762     }
826     frame_52458a1fe2843e61fe62e879d755afb3 = MAKE_MODULE_FRAME(codeobj_52458a1fe2843e61fe62e879d755afb3, module___main__); 763     frame_52458a1fe2843e61fe62e879d755afb3 = MAKE_MODULE_FRAME(codeobj_52458a1fe2843e61fe62e879d755afb3, module___main__);
827 764
828     // Push the new frame as the currently active one, and we should be exclusively 765     // Push the new frame as the currently active one, and we should be exclusively
829     // owning it. 766     // owning it.
835         PyObject *tmp_assign_source_4; 772         PyObject *tmp_assign_source_4;
836         PyObject *tmp_name_value_1; 773         PyObject *tmp_name_value_1;
837         PyObject *tmp_globals_arg_value_1; 774         PyObject *tmp_globals_arg_value_1;
838         PyObject *tmp_locals_arg_value_1; 775         PyObject *tmp_locals_arg_value_1;
839         PyObject *tmp_fromlist_value_1; 776         PyObject *tmp_fromlist_value_1;
n 840         tmp_name_value_1 = mod_consts[8]; n 777         tmp_name_value_1 = mod_consts[5];
841         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 778         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
842         tmp_locals_arg_value_1 = Py_None; 779         tmp_locals_arg_value_1 = Py_None;
843         tmp_fromlist_value_1 = Py_None; 780         tmp_fromlist_value_1 = Py_None;
844         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 6; 781         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 6;
845         tmp_assign_source_4 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1); 782         tmp_assign_source_4 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1);
851 788
852             exception_lineno = 6; 789             exception_lineno = 6;
853 790
854             goto frame_exception_exit_1; 791             goto frame_exception_exit_1;
855         } 792         }
n 856         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 793         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
857     } 794     }
858     { 795     {
859         PyObject *tmp_assign_source_5; 796         PyObject *tmp_assign_source_5;
860 797
861 798
867         PyObject *tmp_assign_source_6; 804         PyObject *tmp_assign_source_6;
868 805
869 806
870         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 807         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
871 808
n 872         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_6); n 809         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_6);
873     } 810     }
874     { 811     {
875         PyObject *tmp_assign_source_7; 812         PyObject *tmp_assign_source_7;
876         PyObject *tmp_iter_arg_1; 813         PyObject *tmp_iter_arg_1;
877         PyObject *tmp_called_instance_1; 814         PyObject *tmp_called_instance_1;
n 878         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[8]); n 815         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]);
879 816
880         if (unlikely(tmp_called_instance_1 == NULL)) { 817         if (unlikely(tmp_called_instance_1 == NULL)) {
n 881             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[8]); n 818             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[5]);
882         } 819         }
883 820
884         assert(!(tmp_called_instance_1 == NULL)); 821         assert(!(tmp_called_instance_1 == NULL));
885         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 28; 822         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 28;
886         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 823         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
887             tstate, 824             tstate,
888             tmp_called_instance_1, 825             tmp_called_instance_1,
n 889             mod_consts[10], n 826             mod_consts[7],
890             &PyTuple_GET_ITEM(mod_consts[11], 0) 827             &PyTuple_GET_ITEM(mod_consts[8], 0)
891         ); 828         );
892 829
893         if (tmp_iter_arg_1 == NULL) { 830         if (tmp_iter_arg_1 == NULL) {
894             assert(HAS_ERROR_OCCURRED(tstate)); 831             assert(HAS_ERROR_OCCURRED(tstate));
895 832
945     } 882     }
946     { 883     {
947         PyObject *tmp_assign_source_9; 884         PyObject *tmp_assign_source_9;
948         CHECK_OBJECT(tmp_for_loop_1__iter_value); 885         CHECK_OBJECT(tmp_for_loop_1__iter_value);
949         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 886         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 950         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_9); n 887         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_9);
951     } 888     }
952     { 889     {
953         PyObject *tmp_called_value_1; 890         PyObject *tmp_called_value_1;
954         PyObject *tmp_call_result_1; 891         PyObject *tmp_call_result_1;
n 955         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]); n 892         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
956 893
957         if (unlikely(tmp_called_value_1 == NULL)) { 894         if (unlikely(tmp_called_value_1 == NULL)) {
n 958             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]); n 895             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
959         } 896         }
960 897
961         if (tmp_called_value_1 == NULL) { 898         if (tmp_called_value_1 == NULL) {
962             assert(HAS_ERROR_OCCURRED(tstate)); 899             assert(HAS_ERROR_OCCURRED(tstate));
963 900
1026     Py_DECREF(tmp_for_loop_1__for_iterator); 963     Py_DECREF(tmp_for_loop_1__for_iterator);
1027     tmp_for_loop_1__for_iterator = NULL; 964     tmp_for_loop_1__for_iterator = NULL;
1028     { 965     {
1029         PyObject *tmp_called_value_2; 966         PyObject *tmp_called_value_2;
1030         PyObject *tmp_call_result_2; 967         PyObject *tmp_call_result_2;
n 1031         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[13]); n 968         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[10]);
1032         assert(tmp_called_value_2 != NULL); 969         assert(tmp_called_value_2 != NULL);
1033         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 31; 970         frame_52458a1fe2843e61fe62e879d755afb3->m_frame.f_lineno = 31;
t 1034         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[14]); t 971         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[11]);
1035 972
1036         if (tmp_call_result_2 == NULL) { 973         if (tmp_call_result_2 == NULL) {
1037             assert(HAS_ERROR_OCCURRED(tstate)); 974             assert(HAS_ERROR_OCCURRED(tstate));
1038 975
1039             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 976             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);