Construct CallCompiledClassCreationPosArgsConstant6

Performance Diagrams

Construct CallCompiledClassCreationPosArgsConstant6 00100000000100000000200000000200000000300000000300000000400000000400000000500000000500000000600000000600000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)65967021188.11538461538461257.0CPython 3.10413607674240.03846153846155349.176116878184Nuitka (main)413619279391.96153846153845349.1717695937522Nuitka (develop)413615080543.8846153846154349.17334255776154Nuitka (factory)Construct CallCompiledClassCreationPosArgsConstant6Ticks Construct CallCompiledClassCreationPosArgsConstant6 00100000000100000000200000000200000000300000000300000000400000000400000000500000000500000000600000000600000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)61040310488.11538461538461257.00000000000006CPython 3.8394422499240.03846153846155344.4375145281674Nuitka (main)394386441391.96153846153845344.4521122365999Nuitka (develop)394426241543.8846153846154344.43599961816255Nuitka (factory)Construct CallCompiledClassCreationPosArgsConstant6Ticks Construct CallCompiledClassCreationPosArgsConstant6 00100000000100000000200000000200000000300000000300000000400000000400000000500000000500000000600000000600000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)68028261888.11538461538461257.0CPython 2.7395013246240.03846153846155360.6252415033324Nuitka (main)395013184391.96153846153845360.6252640250807Nuitka (develop)395014048543.8846153846154360.62495017362147Nuitka (factory)Construct CallCompiledClassCreationPosArgsConstant6Ticks

Source Code with Construct

    # force frame
    C

    # This is supposed to make a call to a compiled method, which is
    # being optimized separately.
    # construct_begin
    C("some", "random", "values", "to", "check", "call")
    C("some", "other", "values", "to", "check", "call")
    C("some", "new", "values", "to", "check", "call")

    # construct_alternative




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

    # force frame
    C

    # This is supposed to make a call to a compiled method, which is
    # being optimized separately.
    # construct_begin




    # construct_alternative
    pass
    # construct_end


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
21     C 21     C
22 22
23     # This is supposed to make a call to a compiled method, which is 23     # This is supposed to make a call to a compiled method, which is
24     # being optimized separately. 24     # being optimized separately.
25     # construct_begin 25     # construct_begin
n 26     C("some", "random", "values", "to", "check", "call") n 26  
27     C("some", "other", "values", "to", "check", "call") 27  
28     C("some", "new", "values", "to", "check", "call") 28  
29 29
30     # construct_alternative 30     # construct_alternative
t 31   t 31     pass
32   32     # construct_end
33 33
34 34
35 for x in itertools.repeat(None, 50000): 35 for x in itertools.repeat(None, 50000):
36     calledRepeatedly() 36     calledRepeatedly()
37 37

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[29]; n 36 static PyObject *mod_consts[26];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[29]; n 38 static Py_hash_t mod_consts_hash[26];
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 < 29; i++) { n 53         for (int i = 0; i < 26; 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 < 29; i++) { n 73     for (int i = 0; i < 26; 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_a361009f22e49891f0de27314fb4bcba; 83 static PyCodeObject *codeobj_a361009f22e49891f0de27314fb4bcba;
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[11]; CHECK_OBJECT(module_filename_obj); n 88     module_filename_obj = mod_consts[8]; CHECK_OBJECT(module_filename_obj);
89     codeobj_f63296634407b337bdcbb30d6b7e3ac4 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[26], mod_consts[26], NULL, NULL, 0, 0, 0); 89     codeobj_f63296634407b337bdcbb30d6b7e3ac4 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[23], mod_consts[23], NULL, NULL, 0, 0, 0);
90     codeobj_main = codeobj_f63296634407b337bdcbb30d6b7e3ac4; 90     codeobj_main = codeobj_f63296634407b337bdcbb30d6b7e3ac4;
n 91     codeobj_fde0d0399b6dffe8dc97370aa722155a = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[15], mod_consts[27], mod_consts[28], NULL, 7, 0, 0); n 91     codeobj_fde0d0399b6dffe8dc97370aa722155a = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[12], mod_consts[24], mod_consts[25], NULL, 7, 0, 0);
92     codeobj_a361009f22e49891f0de27314fb4bcba = MAKE_CODE_OBJECT(module_filename_obj, 19, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[20], mod_consts[20], NULL, NULL, 0, 0, 0); 92     codeobj_a361009f22e49891f0de27314fb4bcba = MAKE_CODE_OBJECT(module_filename_obj, 19, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[17], mod_consts[17], NULL, NULL, 0, 0, 0);
93 } 93 }
94 94
95 // The module function declarations. 95 // The module function declarations.
96 static PyObject *MAKE_FUNCTION___main__$$$function__1___init__(); 96 static PyObject *MAKE_FUNCTION___main__$$$function__1___init__();
97 97
427             exception_lineno = 21; 427             exception_lineno = 21;
428 428
429             goto frame_exception_exit_1; 429             goto frame_exception_exit_1;
430         } 430         }
431     } 431     }
n 432     { n
433         PyObject *tmp_called_value_1;
434         PyObject *tmp_call_result_1;
435         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
436  
437         if (unlikely(tmp_called_value_1 == NULL)) {
438             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[6]);
439         }
440  
441         if (tmp_called_value_1 == NULL) {
442             assert(HAS_ERROR_OCCURRED(tstate));
443  
444             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
445  
446  
447             exception_lineno = 26;
448  
449             goto frame_exception_exit_1;
450         }
451         frame_a361009f22e49891f0de27314fb4bcba->m_frame.f_lineno = 26;
452         tmp_call_result_1 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_1, mod_consts[7]);
453  
454         if (tmp_call_result_1 == NULL) {
455             assert(HAS_ERROR_OCCURRED(tstate));
456  
457             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
458  
459  
460             exception_lineno = 26;
461  
462             goto frame_exception_exit_1;
463         }
464         Py_DECREF(tmp_call_result_1);
465     }
466     {
467         PyObject *tmp_called_value_2;
468         PyObject *tmp_call_result_2;
469         tmp_called_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
470  
471         if (unlikely(tmp_called_value_2 == NULL)) {
472             tmp_called_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[6]);
473         }
474  
475         if (tmp_called_value_2 == NULL) {
476             assert(HAS_ERROR_OCCURRED(tstate));
477  
478             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
479  
480  
481             exception_lineno = 27;
482  
483             goto frame_exception_exit_1;
484         }
485         frame_a361009f22e49891f0de27314fb4bcba->m_frame.f_lineno = 27;
486         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_2, mod_consts[8]);
487  
488         if (tmp_call_result_2 == NULL) {
489             assert(HAS_ERROR_OCCURRED(tstate));
490  
491             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
492  
493  
494             exception_lineno = 27;
495  
496             goto frame_exception_exit_1;
497         }
498         Py_DECREF(tmp_call_result_2);
499     }
500     {
501         PyObject *tmp_called_value_3;
502         PyObject *tmp_call_result_3;
503         tmp_called_value_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
504  
505         if (unlikely(tmp_called_value_3 == NULL)) {
506             tmp_called_value_3 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[6]);
507         }
508  
509         if (tmp_called_value_3 == NULL) {
510             assert(HAS_ERROR_OCCURRED(tstate));
511  
512             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
513  
514  
515             exception_lineno = 28;
516  
517             goto frame_exception_exit_1;
518         }
519         frame_a361009f22e49891f0de27314fb4bcba->m_frame.f_lineno = 28;
520         tmp_call_result_3 = CALL_FUNCTION_WITH_POSARGS6(tstate, tmp_called_value_3, mod_consts[9]);
521  
522         if (tmp_call_result_3 == NULL) {
523             assert(HAS_ERROR_OCCURRED(tstate));
524  
525             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
526  
527  
528             exception_lineno = 28;
529  
530             goto frame_exception_exit_1;
531         }
532         Py_DECREF(tmp_call_result_3);
533     }
534 432
535 433
536     // Put the previous frame back on top. 434     // Put the previous frame back on top.
537     popFrameStack(tstate); 435     popFrameStack(tstate);
538 436
599 497
600 498
601 static PyObject *MAKE_FUNCTION___main__$$$function__1___init__() { 499 static PyObject *MAKE_FUNCTION___main__$$$function__1___init__() {
602     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 500     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
603         impl___main__$$$function__1___init__, 501         impl___main__$$$function__1___init__,
n 604         mod_consts[15], n 502         mod_consts[12],
605 #if PYTHON_VERSION >= 0x300 503 #if PYTHON_VERSION >= 0x300
606         NULL, 504         NULL,
607 #endif 505 #endif
608         codeobj_fde0d0399b6dffe8dc97370aa722155a, 506         codeobj_fde0d0399b6dffe8dc97370aa722155a,
609         NULL, 507         NULL,
624 522
625 523
626 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 524 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
627     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 525     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
628         impl___main__$$$function__2_calledRepeatedly, 526         impl___main__$$$function__2_calledRepeatedly,
n 629         mod_consts[20], n 527         mod_consts[17],
630 #if PYTHON_VERSION >= 0x300 528 #if PYTHON_VERSION >= 0x300
631         NULL, 529         NULL,
632 #endif 530 #endif
633         codeobj_a361009f22e49891f0de27314fb4bcba, 531         codeobj_a361009f22e49891f0de27314fb4bcba,
634         NULL, 532         NULL,
1022 920
1023     // Module code. 921     // Module code.
1024     { 922     {
1025         PyObject *tmp_assign_source_1; 923         PyObject *tmp_assign_source_1;
1026         tmp_assign_source_1 = Py_None; 924         tmp_assign_source_1 = Py_None;
n 1027         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_1); n 925         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_1);
1028     } 926     }
1029     { 927     {
1030         PyObject *tmp_assign_source_2; 928         PyObject *tmp_assign_source_2;
n 1031         tmp_assign_source_2 = mod_consts[11]; n 929         tmp_assign_source_2 = mod_consts[8];
1032         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_2); 930         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_2);
1033     } 931     }
1034     { 932     {
1035         PyObject *tmp_assign_source_3; 933         PyObject *tmp_assign_source_3;
1036         { 934         {
1037             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 935             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 1038             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[13]); n 936             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[10]);
1039         } 937         }
1040         assert(!(tmp_assign_source_3 == NULL)); 938         assert(!(tmp_assign_source_3 == NULL));
n 1041         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_3); n 939         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_3);
1042     } 940     }
1043     frame_f63296634407b337bdcbb30d6b7e3ac4 = MAKE_MODULE_FRAME(codeobj_f63296634407b337bdcbb30d6b7e3ac4, module___main__); 941     frame_f63296634407b337bdcbb30d6b7e3ac4 = MAKE_MODULE_FRAME(codeobj_f63296634407b337bdcbb30d6b7e3ac4, module___main__);
1044 942
1045     // Push the new frame as the currently active one, and we should be exclusively 943     // Push the new frame as the currently active one, and we should be exclusively
1046     // owning it. 944     // owning it.
1052         PyObject *tmp_assign_source_4; 950         PyObject *tmp_assign_source_4;
1053         PyObject *tmp_name_value_1; 951         PyObject *tmp_name_value_1;
1054         PyObject *tmp_globals_arg_value_1; 952         PyObject *tmp_globals_arg_value_1;
1055         PyObject *tmp_locals_arg_value_1; 953         PyObject *tmp_locals_arg_value_1;
1056         PyObject *tmp_fromlist_value_1; 954         PyObject *tmp_fromlist_value_1;
n 1057         tmp_name_value_1 = mod_consts[14]; n 955         tmp_name_value_1 = mod_consts[11];
1058         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 956         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
1059         tmp_locals_arg_value_1 = Py_None; 957         tmp_locals_arg_value_1 = Py_None;
1060         tmp_fromlist_value_1 = Py_None; 958         tmp_fromlist_value_1 = Py_None;
1061         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 6; 959         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 6;
1062         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); 960         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);
1068 966
1069             exception_lineno = 6; 967             exception_lineno = 6;
1070 968
1071             goto frame_exception_exit_1; 969             goto frame_exception_exit_1;
1072         } 970         }
n 1073         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_4); n 971         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_4);
1074     } 972     }
1075     { 973     {
1076         PyObject *tmp_assign_source_5; 974         PyObject *tmp_assign_source_5;
1077         { 975         {
1078             PyObject *tmp_assign_source_6; 976             PyObject *tmp_assign_source_6;
1085         } 983         }
1086         // Tried code: 984         // Tried code:
1087         { 985         {
1088             PyObject *tmp_dict_key_1; 986             PyObject *tmp_dict_key_1;
1089             PyObject *tmp_dict_value_1; 987             PyObject *tmp_dict_value_1;
n 1090             tmp_dict_value_1 = mod_consts[16]; n 988             tmp_dict_value_1 = mod_consts[13];
1091             tmp_dict_key_1 = mod_consts[17]; 989             tmp_dict_key_1 = mod_consts[14];
1092             tmp_assign_source_5 = _PyDict_NewPresized( 2 ); 990             tmp_assign_source_5 = _PyDict_NewPresized( 2 );
1093             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1); 991             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1);
1094             assert(!(tmp_res != 0)); 992             assert(!(tmp_res != 0));
1095             CHECK_OBJECT(tmp_locals___main__$$$class__1_C_9_key___init__); 993             CHECK_OBJECT(tmp_locals___main__$$$class__1_C_9_key___init__);
1096             tmp_dict_value_1 = tmp_locals___main__$$$class__1_C_9_key___init__; 994             tmp_dict_value_1 = tmp_locals___main__$$$class__1_C_9_key___init__;
n 1097             tmp_dict_key_1 = mod_consts[15]; n 995             tmp_dict_key_1 = mod_consts[12];
1098             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1); 996             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1);
1099             assert(!(tmp_res != 0)); 997             assert(!(tmp_res != 0));
1100             goto try_return_handler_1; 998             goto try_return_handler_1;
1101         } 999         }
1102         NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); 1000         NUITKA_CANNOT_GET_HERE("tried codes exits in all cases");
1119         bool tmp_condition_result_1; 1017         bool tmp_condition_result_1;
1120         PyObject *tmp_key_value_1; 1018         PyObject *tmp_key_value_1;
1121         PyObject *tmp_dict_arg_value_1; 1019         PyObject *tmp_dict_arg_value_1;
1122         PyObject *tmp_dict_arg_value_2; 1020         PyObject *tmp_dict_arg_value_2;
1123         PyObject *tmp_key_value_2; 1021         PyObject *tmp_key_value_2;
n 1124         tmp_key_value_1 = mod_consts[18]; n 1022         tmp_key_value_1 = mod_consts[15];
1125         CHECK_OBJECT(tmp_class_creation_1__class_dict); 1023         CHECK_OBJECT(tmp_class_creation_1__class_dict);
1126         tmp_dict_arg_value_1 = tmp_class_creation_1__class_dict; 1024         tmp_dict_arg_value_1 = tmp_class_creation_1__class_dict;
1127         tmp_res = DICT_HAS_ITEM(tstate, tmp_dict_arg_value_1, tmp_key_value_1); 1025         tmp_res = DICT_HAS_ITEM(tstate, tmp_dict_arg_value_1, tmp_key_value_1);
1128         assert(!(tmp_res == -1)); 1026         assert(!(tmp_res == -1));
1129         tmp_condition_result_1 = (tmp_res != 0) ? true : false; 1027         tmp_condition_result_1 = (tmp_res != 0) ? true : false;
1133             goto condexpr_false_1; 1031             goto condexpr_false_1;
1134         } 1032         }
1135         condexpr_true_1:; 1033         condexpr_true_1:;
1136         CHECK_OBJECT(tmp_class_creation_1__class_dict); 1034         CHECK_OBJECT(tmp_class_creation_1__class_dict);
1137         tmp_dict_arg_value_2 = tmp_class_creation_1__class_dict; 1035         tmp_dict_arg_value_2 = tmp_class_creation_1__class_dict;
n 1138         tmp_key_value_2 = mod_consts[18]; n 1036         tmp_key_value_2 = mod_consts[15];
1139         tmp_assign_source_7 = DICT_GET_ITEM1(tstate, tmp_dict_arg_value_2, tmp_key_value_2); 1037         tmp_assign_source_7 = DICT_GET_ITEM1(tstate, tmp_dict_arg_value_2, tmp_key_value_2);
1140         if (tmp_assign_source_7 == NULL) { 1038         if (tmp_assign_source_7 == NULL) {
1141             tmp_assign_source_7 = Py_None; 1039             tmp_assign_source_7 = Py_None;
1142             Py_INCREF(tmp_assign_source_7); 1040             Py_INCREF(tmp_assign_source_7);
1143         } 1041         }
1158         PyObject *tmp_args_element_value_2; 1056         PyObject *tmp_args_element_value_2;
1159         PyObject *tmp_args_element_value_3; 1057         PyObject *tmp_args_element_value_3;
1160         CHECK_OBJECT(tmp_class_creation_1__metaclass); 1058         CHECK_OBJECT(tmp_class_creation_1__metaclass);
1161         tmp_called_value_1 = tmp_class_creation_1__metaclass; 1059         tmp_called_value_1 = tmp_class_creation_1__metaclass;
1162         tmp_args_element_value_1 = mod_consts[6]; 1060         tmp_args_element_value_1 = mod_consts[6];
n 1163         tmp_args_element_value_2 = mod_consts[19]; n 1061         tmp_args_element_value_2 = mod_consts[16];
1164         CHECK_OBJECT(tmp_class_creation_1__class_dict); 1062         CHECK_OBJECT(tmp_class_creation_1__class_dict);
1165         tmp_args_element_value_3 = tmp_class_creation_1__class_dict; 1063         tmp_args_element_value_3 = tmp_class_creation_1__class_dict;
1166         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 9; 1064         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 9;
1167         { 1065         {
1168             PyObject *call_args[] = {tmp_args_element_value_1, tmp_args_element_value_2, tmp_args_element_value_3}; 1066             PyObject *call_args[] = {tmp_args_element_value_1, tmp_args_element_value_2, tmp_args_element_value_3};
1228         PyObject *tmp_assign_source_10; 1126         PyObject *tmp_assign_source_10;
1229 1127
1230 1128
1231         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 1129         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
1232 1130
n 1233         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[20], tmp_assign_source_10); n 1131         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[17], tmp_assign_source_10);
1234     } 1132     }
1235     { 1133     {
1236         PyObject *tmp_assign_source_11; 1134         PyObject *tmp_assign_source_11;
1237         PyObject *tmp_iter_arg_1; 1135         PyObject *tmp_iter_arg_1;
1238         PyObject *tmp_called_instance_1; 1136         PyObject *tmp_called_instance_1;
n 1239         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[14]); n 1137         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
1240 1138
1241         if (unlikely(tmp_called_instance_1 == NULL)) { 1139         if (unlikely(tmp_called_instance_1 == NULL)) {
n 1242             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[14]); n 1140             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[11]);
1243         } 1141         }
1244 1142
1245         if (tmp_called_instance_1 == NULL) { 1143         if (tmp_called_instance_1 == NULL) {
1246             assert(HAS_ERROR_OCCURRED(tstate)); 1144             assert(HAS_ERROR_OCCURRED(tstate));
1247 1145
1254         } 1152         }
1255         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 35; 1153         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 35;
1256         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 1154         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
1257             tstate, 1155             tstate,
1258             tmp_called_instance_1, 1156             tmp_called_instance_1,
n 1259             mod_consts[21], n 1157             mod_consts[18],
1260             &PyTuple_GET_ITEM(mod_consts[22], 0) 1158             &PyTuple_GET_ITEM(mod_consts[19], 0)
1261         ); 1159         );
1262 1160
1263         if (tmp_iter_arg_1 == NULL) { 1161         if (tmp_iter_arg_1 == NULL) {
1264             assert(HAS_ERROR_OCCURRED(tstate)); 1162             assert(HAS_ERROR_OCCURRED(tstate));
1265 1163
1315     } 1213     }
1316     { 1214     {
1317         PyObject *tmp_assign_source_13; 1215         PyObject *tmp_assign_source_13;
1318         CHECK_OBJECT(tmp_for_loop_1__iter_value); 1216         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1319         tmp_assign_source_13 = tmp_for_loop_1__iter_value; 1217         tmp_assign_source_13 = tmp_for_loop_1__iter_value;
n 1320         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[23], tmp_assign_source_13); n 1218         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[20], tmp_assign_source_13);
1321     } 1219     }
1322     { 1220     {
1323         PyObject *tmp_called_value_2; 1221         PyObject *tmp_called_value_2;
1324         PyObject *tmp_call_result_1; 1222         PyObject *tmp_call_result_1;
n 1325         tmp_called_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[20]); n 1223         tmp_called_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[17]);
1326 1224
1327         if (unlikely(tmp_called_value_2 == NULL)) { 1225         if (unlikely(tmp_called_value_2 == NULL)) {
n 1328             tmp_called_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[20]); n 1226             tmp_called_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[17]);
1329         } 1227         }
1330 1228
1331         if (tmp_called_value_2 == NULL) { 1229         if (tmp_called_value_2 == NULL) {
1332             assert(HAS_ERROR_OCCURRED(tstate)); 1230             assert(HAS_ERROR_OCCURRED(tstate));
1333 1231
1396     Py_DECREF(tmp_for_loop_1__for_iterator); 1294     Py_DECREF(tmp_for_loop_1__for_iterator);
1397     tmp_for_loop_1__for_iterator = NULL; 1295     tmp_for_loop_1__for_iterator = NULL;
1398     { 1296     {
1399         PyObject *tmp_called_value_3; 1297         PyObject *tmp_called_value_3;
1400         PyObject *tmp_call_result_2; 1298         PyObject *tmp_call_result_2;
n 1401         tmp_called_value_3 = LOOKUP_BUILTIN(mod_consts[24]); n 1299         tmp_called_value_3 = LOOKUP_BUILTIN(mod_consts[21]);
1402         assert(tmp_called_value_3 != NULL); 1300         assert(tmp_called_value_3 != NULL);
1403         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 38; 1301         frame_f63296634407b337bdcbb30d6b7e3ac4->m_frame.f_lineno = 38;
t 1404         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_3, mod_consts[25]); t 1302         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_3, mod_consts[22]);
1405 1303
1406         if (tmp_call_result_2 == NULL) { 1304         if (tmp_call_result_2 == NULL) {
1407             assert(HAS_ERROR_OCCURRED(tstate)); 1305             assert(HAS_ERROR_OCCURRED(tstate));
1408 1306
1409             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 1307             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);