Construct CallCompiledInstanceMethodPosArgsConstant1_27

Performance Diagrams

Construct CallCompiledInstanceMethodPosArgsConstant1_27 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)12825891188.11538461538461257.0CPython 2.739353150240.03846153846155428.2939955028814Nuitka (main)39353072391.96153846153845428.29414578483727Nuitka (develop)39353148543.8846153846154428.29399935626486Nuitka (factory)Construct CallCompiledInstanceMethodPosArgsConstant1_27Ticks

Source Code with Construct

    inst.compiled_method("some")
    inst.compiled_method("some")
    inst.compiled_method("some")

    # 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

    # 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
15     inst = C() 15     inst = C()
16 16
17     # This is supposed to make a call to a compiled method, which is 17     # This is supposed to make a call to a compiled method, which is
18     # being optimized separately. 18     # being optimized separately.
19     # construct_begin 19     # construct_begin
n 20     inst.compiled_method("some") n 20  
21     inst.compiled_method("some") 21  
22     inst.compiled_method("some") 22  
23 23
24     # construct_alternative 24     # construct_alternative
t 25   t 25     pass
26   26     # construct_end
27 27
28 28
29 for x in itertools.repeat(None, 50000): 29 for x in itertools.repeat(None, 50000):
30     calledRepeatedly() 30     calledRepeatedly()
31 31

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[22]; n 36 static PyObject *mod_consts[21];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[22]; n 38 static Py_hash_t mod_consts_hash[21];
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 < 22; i++) { n 53         for (int i = 0; i < 21; 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 < 22; i++) { n 73     for (int i = 0; i < 21; 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_479f2fb1befca91a66e28f94bee591e1; 83 static PyCodeObject *codeobj_479f2fb1befca91a66e28f94bee591e1;
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[4]; CHECK_OBJECT(module_filename_obj); n 88     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
89     codeobj_93ba7c89bd60ba295a384f751b3c1d0e = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[18], mod_consts[18], NULL, NULL, 0, 0, 0); 89     codeobj_93ba7c89bd60ba295a384f751b3c1d0e = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[17], mod_consts[17], NULL, NULL, 0, 0, 0);
90     codeobj_main = codeobj_93ba7c89bd60ba295a384f751b3c1d0e; 90     codeobj_main = codeobj_93ba7c89bd60ba295a384f751b3c1d0e;
n 91     codeobj_72c328bb3239bf4dfdf205fd3e0b3014 = MAKE_CODE_OBJECT(module_filename_obj, 14, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[12], mod_consts[12], mod_consts[19], NULL, 0, 0, 0); n 91     codeobj_72c328bb3239bf4dfdf205fd3e0b3014 = MAKE_CODE_OBJECT(module_filename_obj, 14, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[11], mod_consts[11], mod_consts[18], NULL, 0, 0, 0);
92     codeobj_479f2fb1befca91a66e28f94bee591e1 = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[1], mod_consts[20], mod_consts[21], NULL, 2, 0, 0); 92     codeobj_479f2fb1befca91a66e28f94bee591e1 = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[6], mod_consts[19], mod_consts[20], NULL, 2, 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_method(); 96 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_method();
97 97
148     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 148     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
149     PyObject *exception_type = NULL; 149     PyObject *exception_type = NULL;
150     PyObject *exception_value = NULL; 150     PyObject *exception_value = NULL;
151     PyTracebackObject *exception_tb = NULL; 151     PyTracebackObject *exception_tb = NULL;
152     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 152     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 153     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
154     static struct Nuitka_FrameObject *cache_frame_72c328bb3239bf4dfdf205fd3e0b3014 = NULL; 153     static struct Nuitka_FrameObject *cache_frame_72c328bb3239bf4dfdf205fd3e0b3014 = NULL;
155     PyObject *tmp_return_value = NULL; 154     PyObject *tmp_return_value = NULL;
156     PyObject *exception_keeper_type_1; 155     PyObject *exception_keeper_type_1;
157     PyObject *exception_keeper_value_1; 156     PyObject *exception_keeper_value_1;
158     PyTracebackObject *exception_keeper_tb_1; 157     PyTracebackObject *exception_keeper_tb_1;
218             type_description_1 = "o"; 217             type_description_1 = "o";
219             goto frame_exception_exit_1; 218             goto frame_exception_exit_1;
220         } 219         }
221         assert(var_inst == NULL); 220         assert(var_inst == NULL);
222         var_inst = tmp_assign_source_1; 221         var_inst = tmp_assign_source_1;
n 223     } n
224     {
225         PyObject *tmp_called_instance_1;
226         PyObject *tmp_call_result_1;
227         CHECK_OBJECT(var_inst);
228         tmp_called_instance_1 = var_inst;
229         frame_72c328bb3239bf4dfdf205fd3e0b3014->m_frame.f_lineno = 20;
230         tmp_call_result_1 = CALL_METHOD_WITH_SINGLE_ARG(
231             tstate,
232             tmp_called_instance_1,
233             mod_consts[1],
234             PyTuple_GET_ITEM(mod_consts[2], 0)
235         );
236  
237         if (tmp_call_result_1 == NULL) {
238             assert(HAS_ERROR_OCCURRED(tstate));
239  
240             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
241  
242  
243             exception_lineno = 20;
244             type_description_1 = "o";
245             goto frame_exception_exit_1;
246         }
247         Py_DECREF(tmp_call_result_1);
248     }
249     {
250         PyObject *tmp_called_instance_2;
251         PyObject *tmp_call_result_2;
252         CHECK_OBJECT(var_inst);
253         tmp_called_instance_2 = var_inst;
254         frame_72c328bb3239bf4dfdf205fd3e0b3014->m_frame.f_lineno = 21;
255         tmp_call_result_2 = CALL_METHOD_WITH_SINGLE_ARG(
256             tstate,
257             tmp_called_instance_2,
258             mod_consts[1],
259             PyTuple_GET_ITEM(mod_consts[2], 0)
260         );
261  
262         if (tmp_call_result_2 == NULL) {
263             assert(HAS_ERROR_OCCURRED(tstate));
264  
265             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
266  
267  
268             exception_lineno = 21;
269             type_description_1 = "o";
270             goto frame_exception_exit_1;
271         }
272         Py_DECREF(tmp_call_result_2);
273     }
274     {
275         PyObject *tmp_called_instance_3;
276         PyObject *tmp_call_result_3;
277         CHECK_OBJECT(var_inst);
278         tmp_called_instance_3 = var_inst;
279         frame_72c328bb3239bf4dfdf205fd3e0b3014->m_frame.f_lineno = 22;
280         tmp_call_result_3 = CALL_METHOD_WITH_SINGLE_ARG(
281             tstate,
282             tmp_called_instance_3,
283             mod_consts[1],
284             PyTuple_GET_ITEM(mod_consts[2], 0)
285         );
286  
287         if (tmp_call_result_3 == NULL) {
288             assert(HAS_ERROR_OCCURRED(tstate));
289  
290             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
291  
292  
293             exception_lineno = 22;
294             type_description_1 = "o";
295             goto frame_exception_exit_1;
296         }
297         Py_DECREF(tmp_call_result_3);
298     } 222     }
299 223
300 224
301     // Put the previous frame back on top. 225     // Put the previous frame back on top.
302     popFrameStack(tstate); 226     popFrameStack(tstate);
357     exception_type = NULL; 281     exception_type = NULL;
358     exception_value = NULL; 282     exception_value = NULL;
359     exception_tb = NULL; 283     exception_tb = NULL;
360     exception_lineno = 0; 284     exception_lineno = 0;
361 285
n 362     Py_XDECREF(var_inst); n
363     var_inst = NULL;
364     // Re-raise. 286     // Re-raise.
365     exception_type = exception_keeper_type_1; 287     exception_type = exception_keeper_type_1;
366     exception_value = exception_keeper_value_1; 288     exception_value = exception_keeper_value_1;
367     exception_tb = exception_keeper_tb_1; 289     exception_tb = exception_keeper_tb_1;
368     exception_lineno = exception_keeper_lineno_1; 290     exception_lineno = exception_keeper_lineno_1;
394 316
395 317
396 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_method() { 318 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_method() {
397     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 319     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
398         impl___main__$$$function__1_compiled_method, 320         impl___main__$$$function__1_compiled_method,
n 399         mod_consts[1], n 321         mod_consts[6],
400 #if PYTHON_VERSION >= 0x300 322 #if PYTHON_VERSION >= 0x300
401         NULL, 323         NULL,
402 #endif 324 #endif
403         codeobj_479f2fb1befca91a66e28f94bee591e1, 325         codeobj_479f2fb1befca91a66e28f94bee591e1,
404         NULL, 326         NULL,
419 341
420 342
421 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 343 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
422     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 344     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
423         impl___main__$$$function__2_calledRepeatedly, 345         impl___main__$$$function__2_calledRepeatedly,
n 424         mod_consts[12], n 346         mod_consts[11],
425 #if PYTHON_VERSION >= 0x300 347 #if PYTHON_VERSION >= 0x300
426         NULL, 348         NULL,
427 #endif 349 #endif
428         codeobj_72c328bb3239bf4dfdf205fd3e0b3014, 350         codeobj_72c328bb3239bf4dfdf205fd3e0b3014,
429         NULL, 351         NULL,
821 743
822     // Module code. 744     // Module code.
823     { 745     {
824         PyObject *tmp_assign_source_1; 746         PyObject *tmp_assign_source_1;
825         tmp_assign_source_1 = Py_None; 747         tmp_assign_source_1 = Py_None;
n 826         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1); n 748         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
827     } 749     }
828     { 750     {
829         PyObject *tmp_assign_source_2; 751         PyObject *tmp_assign_source_2;
n 830         tmp_assign_source_2 = mod_consts[4]; n 752         tmp_assign_source_2 = mod_consts[2];
831         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2); 753         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
832     } 754     }
833     { 755     {
834         PyObject *tmp_assign_source_3; 756         PyObject *tmp_assign_source_3;
835         { 757         {
836             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 758             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 837             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[6]); n 759             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[4]);
838         } 760         }
839         assert(!(tmp_assign_source_3 == NULL)); 761         assert(!(tmp_assign_source_3 == NULL));
n 840         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3); n 762         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
841     } 763     }
842     frame_93ba7c89bd60ba295a384f751b3c1d0e = MAKE_MODULE_FRAME(codeobj_93ba7c89bd60ba295a384f751b3c1d0e, module___main__); 764     frame_93ba7c89bd60ba295a384f751b3c1d0e = MAKE_MODULE_FRAME(codeobj_93ba7c89bd60ba295a384f751b3c1d0e, module___main__);
843 765
844     // Push the new frame as the currently active one, and we should be exclusively 766     // Push the new frame as the currently active one, and we should be exclusively
845     // owning it. 767     // owning it.
851         PyObject *tmp_assign_source_4; 773         PyObject *tmp_assign_source_4;
852         PyObject *tmp_name_value_1; 774         PyObject *tmp_name_value_1;
853         PyObject *tmp_globals_arg_value_1; 775         PyObject *tmp_globals_arg_value_1;
854         PyObject *tmp_locals_arg_value_1; 776         PyObject *tmp_locals_arg_value_1;
855         PyObject *tmp_fromlist_value_1; 777         PyObject *tmp_fromlist_value_1;
n 856         tmp_name_value_1 = mod_consts[7]; n 778         tmp_name_value_1 = mod_consts[5];
857         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 779         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
858         tmp_locals_arg_value_1 = Py_None; 780         tmp_locals_arg_value_1 = Py_None;
859         tmp_fromlist_value_1 = Py_None; 781         tmp_fromlist_value_1 = Py_None;
860         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 6; 782         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 6;
861         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); 783         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);
867 789
868             exception_lineno = 6; 790             exception_lineno = 6;
869 791
870             goto frame_exception_exit_1; 792             goto frame_exception_exit_1;
871         } 793         }
n 872         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4); n 794         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
873     } 795     }
874     { 796     {
875         PyObject *tmp_assign_source_5; 797         PyObject *tmp_assign_source_5;
876         { 798         {
877             PyObject *tmp_assign_source_6; 799             PyObject *tmp_assign_source_6;
884         } 806         }
885         // Tried code: 807         // Tried code:
886         { 808         {
887             PyObject *tmp_dict_key_1; 809             PyObject *tmp_dict_key_1;
888             PyObject *tmp_dict_value_1; 810             PyObject *tmp_dict_value_1;
n 889             tmp_dict_value_1 = mod_consts[8]; n 811             tmp_dict_value_1 = mod_consts[7];
890             tmp_dict_key_1 = mod_consts[9]; 812             tmp_dict_key_1 = mod_consts[8];
891             tmp_assign_source_5 = _PyDict_NewPresized( 2 ); 813             tmp_assign_source_5 = _PyDict_NewPresized( 2 );
892             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1); 814             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1);
893             assert(!(tmp_res != 0)); 815             assert(!(tmp_res != 0));
894             CHECK_OBJECT(tmp_locals___main__$$$class__1_C_9_key_compiled_method); 816             CHECK_OBJECT(tmp_locals___main__$$$class__1_C_9_key_compiled_method);
895             tmp_dict_value_1 = tmp_locals___main__$$$class__1_C_9_key_compiled_method; 817             tmp_dict_value_1 = tmp_locals___main__$$$class__1_C_9_key_compiled_method;
n 896             tmp_dict_key_1 = mod_consts[1]; n 818             tmp_dict_key_1 = mod_consts[6];
897             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1); 819             tmp_res = PyDict_SetItem(tmp_assign_source_5, tmp_dict_key_1, tmp_dict_value_1);
898             assert(!(tmp_res != 0)); 820             assert(!(tmp_res != 0));
899             goto try_return_handler_1; 821             goto try_return_handler_1;
900         } 822         }
901         NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); 823         NUITKA_CANNOT_GET_HERE("tried codes exits in all cases");
918         bool tmp_condition_result_1; 840         bool tmp_condition_result_1;
919         PyObject *tmp_key_value_1; 841         PyObject *tmp_key_value_1;
920         PyObject *tmp_dict_arg_value_1; 842         PyObject *tmp_dict_arg_value_1;
921         PyObject *tmp_dict_arg_value_2; 843         PyObject *tmp_dict_arg_value_2;
922         PyObject *tmp_key_value_2; 844         PyObject *tmp_key_value_2;
n 923         tmp_key_value_1 = mod_consts[10]; n 845         tmp_key_value_1 = mod_consts[9];
924         CHECK_OBJECT(tmp_class_creation_1__class_dict); 846         CHECK_OBJECT(tmp_class_creation_1__class_dict);
925         tmp_dict_arg_value_1 = tmp_class_creation_1__class_dict; 847         tmp_dict_arg_value_1 = tmp_class_creation_1__class_dict;
926         tmp_res = DICT_HAS_ITEM(tstate, tmp_dict_arg_value_1, tmp_key_value_1); 848         tmp_res = DICT_HAS_ITEM(tstate, tmp_dict_arg_value_1, tmp_key_value_1);
927         assert(!(tmp_res == -1)); 849         assert(!(tmp_res == -1));
928         tmp_condition_result_1 = (tmp_res != 0) ? true : false; 850         tmp_condition_result_1 = (tmp_res != 0) ? true : false;
932             goto condexpr_false_1; 854             goto condexpr_false_1;
933         } 855         }
934         condexpr_true_1:; 856         condexpr_true_1:;
935         CHECK_OBJECT(tmp_class_creation_1__class_dict); 857         CHECK_OBJECT(tmp_class_creation_1__class_dict);
936         tmp_dict_arg_value_2 = tmp_class_creation_1__class_dict; 858         tmp_dict_arg_value_2 = tmp_class_creation_1__class_dict;
n 937         tmp_key_value_2 = mod_consts[10]; n 859         tmp_key_value_2 = mod_consts[9];
938         tmp_assign_source_7 = DICT_GET_ITEM1(tstate, tmp_dict_arg_value_2, tmp_key_value_2); 860         tmp_assign_source_7 = DICT_GET_ITEM1(tstate, tmp_dict_arg_value_2, tmp_key_value_2);
939         if (tmp_assign_source_7 == NULL) { 861         if (tmp_assign_source_7 == NULL) {
940             tmp_assign_source_7 = Py_None; 862             tmp_assign_source_7 = Py_None;
941             Py_INCREF(tmp_assign_source_7); 863             Py_INCREF(tmp_assign_source_7);
942         } 864         }
943         assert(!(tmp_assign_source_7 == NULL)); 865         assert(!(tmp_assign_source_7 == NULL));
944         goto condexpr_end_1; 866         goto condexpr_end_1;
945         condexpr_false_1:; 867         condexpr_false_1:;
946         // Tried code: 868         // Tried code:
n 947         tmp_assign_source_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 869         tmp_assign_source_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]);
948 870
949         if (unlikely(tmp_assign_source_7 == NULL)) { 871         if (unlikely(tmp_assign_source_7 == NULL)) {
n 950             tmp_assign_source_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[10]); n 872             tmp_assign_source_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]);
951         } 873         }
952 874
953         if (tmp_assign_source_7 == NULL) { 875         if (tmp_assign_source_7 == NULL) {
954             assert(HAS_ERROR_OCCURRED(tstate)); 876             assert(HAS_ERROR_OCCURRED(tstate));
955 877
997         PyObject *tmp_args_element_value_2; 919         PyObject *tmp_args_element_value_2;
998         PyObject *tmp_args_element_value_3; 920         PyObject *tmp_args_element_value_3;
999         CHECK_OBJECT(tmp_class_creation_1__metaclass); 921         CHECK_OBJECT(tmp_class_creation_1__metaclass);
1000         tmp_called_value_1 = tmp_class_creation_1__metaclass; 922         tmp_called_value_1 = tmp_class_creation_1__metaclass;
1001         tmp_args_element_value_1 = mod_consts[0]; 923         tmp_args_element_value_1 = mod_consts[0];
n 1002         tmp_args_element_value_2 = mod_consts[11]; n 924         tmp_args_element_value_2 = mod_consts[10];
1003         CHECK_OBJECT(tmp_class_creation_1__class_dict); 925         CHECK_OBJECT(tmp_class_creation_1__class_dict);
1004         tmp_args_element_value_3 = tmp_class_creation_1__class_dict; 926         tmp_args_element_value_3 = tmp_class_creation_1__class_dict;
1005         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 9; 927         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 9;
1006         { 928         {
1007             PyObject *call_args[] = {tmp_args_element_value_1, tmp_args_element_value_2, tmp_args_element_value_3}; 929             PyObject *call_args[] = {tmp_args_element_value_1, tmp_args_element_value_2, tmp_args_element_value_3};
1067         PyObject *tmp_assign_source_10; 989         PyObject *tmp_assign_source_10;
1068 990
1069 991
1070         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 992         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
1071 993
n 1072         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_10); n 994         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_10);
1073     } 995     }
1074     { 996     {
1075         PyObject *tmp_assign_source_11; 997         PyObject *tmp_assign_source_11;
1076         PyObject *tmp_iter_arg_1; 998         PyObject *tmp_iter_arg_1;
1077         PyObject *tmp_called_instance_1; 999         PyObject *tmp_called_instance_1;
n 1078         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); n 1000         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]);
1079 1001
1080         if (unlikely(tmp_called_instance_1 == NULL)) { 1002         if (unlikely(tmp_called_instance_1 == NULL)) {
n 1081             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); n 1003             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[5]);
1082         } 1004         }
1083 1005
1084         if (tmp_called_instance_1 == NULL) { 1006         if (tmp_called_instance_1 == NULL) {
1085             assert(HAS_ERROR_OCCURRED(tstate)); 1007             assert(HAS_ERROR_OCCURRED(tstate));
1086 1008
1093         } 1015         }
1094         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 29; 1016         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 29;
1095         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 1017         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
1096             tstate, 1018             tstate,
1097             tmp_called_instance_1, 1019             tmp_called_instance_1,
n 1098             mod_consts[13], n 1020             mod_consts[12],
1099             &PyTuple_GET_ITEM(mod_consts[14], 0) 1021             &PyTuple_GET_ITEM(mod_consts[13], 0)
1100         ); 1022         );
1101 1023
1102         if (tmp_iter_arg_1 == NULL) { 1024         if (tmp_iter_arg_1 == NULL) {
1103             assert(HAS_ERROR_OCCURRED(tstate)); 1025             assert(HAS_ERROR_OCCURRED(tstate));
1104 1026
1154     } 1076     }
1155     { 1077     {
1156         PyObject *tmp_assign_source_13; 1078         PyObject *tmp_assign_source_13;
1157         CHECK_OBJECT(tmp_for_loop_1__iter_value); 1079         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1158         tmp_assign_source_13 = tmp_for_loop_1__iter_value; 1080         tmp_assign_source_13 = tmp_for_loop_1__iter_value;
n 1159         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_13); n 1081         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_13);
1160     } 1082     }
1161     { 1083     {
1162         PyObject *tmp_called_value_2; 1084         PyObject *tmp_called_value_2;
1163         PyObject *tmp_call_result_1; 1085         PyObject *tmp_call_result_1;
n 1164         tmp_called_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[12]); n 1086         tmp_called_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
1165 1087
1166         if (unlikely(tmp_called_value_2 == NULL)) { 1088         if (unlikely(tmp_called_value_2 == NULL)) {
n 1167             tmp_called_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[12]); n 1089             tmp_called_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[11]);
1168         } 1090         }
1169 1091
1170         if (tmp_called_value_2 == NULL) { 1092         if (tmp_called_value_2 == NULL) {
1171             assert(HAS_ERROR_OCCURRED(tstate)); 1093             assert(HAS_ERROR_OCCURRED(tstate));
1172 1094
1235     Py_DECREF(tmp_for_loop_1__for_iterator); 1157     Py_DECREF(tmp_for_loop_1__for_iterator);
1236     tmp_for_loop_1__for_iterator = NULL; 1158     tmp_for_loop_1__for_iterator = NULL;
1237     { 1159     {
1238         PyObject *tmp_called_value_3; 1160         PyObject *tmp_called_value_3;
1239         PyObject *tmp_call_result_2; 1161         PyObject *tmp_call_result_2;
n 1240         tmp_called_value_3 = LOOKUP_BUILTIN(mod_consts[16]); n 1162         tmp_called_value_3 = LOOKUP_BUILTIN(mod_consts[15]);
1241         assert(tmp_called_value_3 != NULL); 1163         assert(tmp_called_value_3 != NULL);
1242         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 32; 1164         frame_93ba7c89bd60ba295a384f751b3c1d0e->m_frame.f_lineno = 32;
t 1243         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_3, mod_consts[17]); t 1165         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_3, mod_consts[16]);
1244 1166
1245         if (tmp_call_result_2 == NULL) { 1167         if (tmp_call_result_2 == NULL) {
1246             assert(HAS_ERROR_OCCURRED(tstate)); 1168             assert(HAS_ERROR_OCCURRED(tstate));
1247 1169
1248             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 1170             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);