Construct CallCompiledFunctionPosArgsMutable

Performance Diagrams

Construct CallCompiledFunctionPosArgsMutable 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)13313254088.11538461538461257.0CPython 3.1063804139240.03846153846155385.6846512346615Nuitka (main)63615831391.96153846153845386.0341811380657Nuitka (develop)63615831543.8846153846154386.0341811380657Nuitka (factory)Construct CallCompiledFunctionPosArgsMutableTicks Construct CallCompiledFunctionPosArgsMutable 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)11814109788.11538461538461257.0CPython 3.861411301240.03846153846155375.6615471980281Nuitka (main)61414294391.96153846153845375.65528674874383Nuitka (develop)61414294543.8846153846154375.65528674874383Nuitka (factory)Construct CallCompiledFunctionPosArgsMutableTicks Construct CallCompiledFunctionPosArgsMutable 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)13912138588.11538461538461257.0CPython 2.768911911240.03846153846155381.710095224784Nuitka (main)68911097391.96153846153845381.7115410982785Nuitka (develop)68911097543.8846153846154381.7115410982785Nuitka (factory)Construct CallCompiledFunctionPosArgsMutableTicks

Source Code with Construct

    # 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     # construct_alternative
21 18
22 19
t t 20     # construct_alternative
21     pass
22     # construct_end
23 23
24     return compiled_f 24     return compiled_f
25 25
26 26
27 for x in itertools.repeat(None, 50000): 27 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[17]; 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[17]; 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 < 17; 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 < 17; 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_fb59ed6b53df3c8270f3917874f7f831; 83 static PyCodeObject *codeobj_fb59ed6b53df3c8270f3917874f7f831;
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_8612320727f077e5e6198c02d327fe1a = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[14], mod_consts[14], NULL, NULL, 0, 0, 0); 89     codeobj_8612320727f077e5e6198c02d327fe1a = 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_8612320727f077e5e6198c02d327fe1a; 90     codeobj_main = codeobj_8612320727f077e5e6198c02d327fe1a;
n 91     codeobj_5a1bde59cfb078c80258ba8e2009be1a = MAKE_CODE_OBJECT(module_filename_obj, 13, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[8], mod_consts[8], mod_consts[15], NULL, 0, 0, 0); n 91     codeobj_5a1bde59cfb078c80258ba8e2009be1a = 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_fb59ed6b53df3c8270f3917874f7f831 = 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[16], NULL, 1, 0, 0); 92     codeobj_fb59ed6b53df3c8270f3917874f7f831 = 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, 1, 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
145     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 145     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
146     PyObject *exception_type = NULL; 146     PyObject *exception_type = NULL;
147     PyObject *exception_value = NULL; 147     PyObject *exception_value = NULL;
148     PyTracebackObject *exception_tb = NULL; 148     PyTracebackObject *exception_tb = NULL;
149     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 149     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 150     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
151     static struct Nuitka_FrameObject *cache_frame_5a1bde59cfb078c80258ba8e2009be1a = NULL; 150     static struct Nuitka_FrameObject *cache_frame_5a1bde59cfb078c80258ba8e2009be1a = NULL;
152     PyObject *tmp_return_value = NULL; 151     PyObject *tmp_return_value = NULL;
153     PyObject *exception_keeper_type_1; 152     PyObject *exception_keeper_type_1;
154     PyObject *exception_keeper_value_1; 153     PyObject *exception_keeper_value_1;
155     PyTracebackObject *exception_keeper_tb_1; 154     PyTracebackObject *exception_keeper_tb_1;
203             goto frame_exception_exit_1; 202             goto frame_exception_exit_1;
204         } 203         }
205         assert(var_compiled_f == NULL); 204         assert(var_compiled_f == NULL);
206         Py_INCREF(tmp_assign_source_1); 205         Py_INCREF(tmp_assign_source_1);
207         var_compiled_f = tmp_assign_source_1; 206         var_compiled_f = tmp_assign_source_1;
n 208     } n
209     {
210         PyObject *tmp_called_value_1;
211         PyObject *tmp_call_result_1;
212         PyObject *tmp_call_arg_element_1;
213         CHECK_OBJECT(var_compiled_f);
214         tmp_called_value_1 = var_compiled_f;
215         tmp_call_arg_element_1 = MAKE_LIST6(mod_consts[1]);
216         frame_5a1bde59cfb078c80258ba8e2009be1a->m_frame.f_lineno = 18;
217         tmp_call_result_1 = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, tmp_called_value_1, tmp_call_arg_element_1);
218         Py_DECREF(tmp_call_arg_element_1);
219         if (tmp_call_result_1 == NULL) {
220             assert(HAS_ERROR_OCCURRED(tstate));
221  
222             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
223  
224  
225             exception_lineno = 18;
226             type_description_1 = "o";
227             goto frame_exception_exit_1;
228         }
229         Py_DECREF(tmp_call_result_1);
230     }
231     {
232         PyObject *tmp_called_value_2;
233         PyObject *tmp_call_result_2;
234         PyObject *tmp_call_arg_element_2;
235         CHECK_OBJECT(var_compiled_f);
236         tmp_called_value_2 = var_compiled_f;
237         tmp_call_arg_element_2 = DEEP_COPY_LIST_GUIDED(tstate, mod_consts[2], "ll");
238         frame_5a1bde59cfb078c80258ba8e2009be1a->m_frame.f_lineno = 19;
239         tmp_call_result_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tstate, tmp_called_value_2, tmp_call_arg_element_2);
240         Py_DECREF(tmp_call_arg_element_2);
241         if (tmp_call_result_2 == NULL) {
242             assert(HAS_ERROR_OCCURRED(tstate));
243  
244             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
245  
246  
247             exception_lineno = 19;
248             type_description_1 = "o";
249             goto frame_exception_exit_1;
250         }
251         Py_DECREF(tmp_call_result_2);
252     } 207     }
253 208
254 209
255     // Put the previous frame back on top. 210     // Put the previous frame back on top.
256     popFrameStack(tstate); 211     popFrameStack(tstate);
312     exception_type = NULL; 267     exception_type = NULL;
313     exception_value = NULL; 268     exception_value = NULL;
314     exception_tb = NULL; 269     exception_tb = NULL;
315     exception_lineno = 0; 270     exception_lineno = 0;
316 271
n 317     Py_XDECREF(var_compiled_f); n
318     var_compiled_f = NULL;
319     // Re-raise. 272     // Re-raise.
320     exception_type = exception_keeper_type_1; 273     exception_type = exception_keeper_type_1;
321     exception_value = exception_keeper_value_1; 274     exception_value = exception_keeper_value_1;
322     exception_tb = exception_keeper_tb_1; 275     exception_tb = exception_keeper_tb_1;
323     exception_lineno = exception_keeper_lineno_1; 276     exception_lineno = exception_keeper_lineno_1;
374 327
375 328
376 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 329 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
377     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 330     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
378         impl___main__$$$function__2_calledRepeatedly, 331         impl___main__$$$function__2_calledRepeatedly,
n 379         mod_consts[8], n 332         mod_consts[6],
380 #if PYTHON_VERSION >= 0x300 333 #if PYTHON_VERSION >= 0x300
381         NULL, 334         NULL,
382 #endif 335 #endif
383         codeobj_5a1bde59cfb078c80258ba8e2009be1a, 336         codeobj_5a1bde59cfb078c80258ba8e2009be1a,
384         NULL, 337         NULL,
763 716
764     // Module code. 717     // Module code.
765     { 718     {
766         PyObject *tmp_assign_source_1; 719         PyObject *tmp_assign_source_1;
767         tmp_assign_source_1 = Py_None; 720         tmp_assign_source_1 = Py_None;
n 768         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1); n 721         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
769     } 722     }
770     { 723     {
771         PyObject *tmp_assign_source_2; 724         PyObject *tmp_assign_source_2;
n 772         tmp_assign_source_2 = mod_consts[4]; n 725         tmp_assign_source_2 = mod_consts[2];
773         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2); 726         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
774     } 727     }
775     { 728     {
776         PyObject *tmp_assign_source_3; 729         PyObject *tmp_assign_source_3;
777         { 730         {
778             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 731             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 779             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[6]); n 732             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[4]);
780         } 733         }
781         assert(!(tmp_assign_source_3 == NULL)); 734         assert(!(tmp_assign_source_3 == NULL));
n 782         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3); n 735         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
783     } 736     }
784     frame_8612320727f077e5e6198c02d327fe1a = MAKE_MODULE_FRAME(codeobj_8612320727f077e5e6198c02d327fe1a, module___main__); 737     frame_8612320727f077e5e6198c02d327fe1a = MAKE_MODULE_FRAME(codeobj_8612320727f077e5e6198c02d327fe1a, module___main__);
785 738
786     // Push the new frame as the currently active one, and we should be exclusively 739     // Push the new frame as the currently active one, and we should be exclusively
787     // owning it. 740     // owning it.
793         PyObject *tmp_assign_source_4; 746         PyObject *tmp_assign_source_4;
794         PyObject *tmp_name_value_1; 747         PyObject *tmp_name_value_1;
795         PyObject *tmp_globals_arg_value_1; 748         PyObject *tmp_globals_arg_value_1;
796         PyObject *tmp_locals_arg_value_1; 749         PyObject *tmp_locals_arg_value_1;
797         PyObject *tmp_fromlist_value_1; 750         PyObject *tmp_fromlist_value_1;
n 798         tmp_name_value_1 = mod_consts[7]; n 751         tmp_name_value_1 = mod_consts[5];
799         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 752         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
800         tmp_locals_arg_value_1 = Py_None; 753         tmp_locals_arg_value_1 = Py_None;
801         tmp_fromlist_value_1 = Py_None; 754         tmp_fromlist_value_1 = Py_None;
802         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 6; 755         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 6;
803         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); 756         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);
809 762
810             exception_lineno = 6; 763             exception_lineno = 6;
811 764
812             goto frame_exception_exit_1; 765             goto frame_exception_exit_1;
813         } 766         }
n 814         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4); n 767         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
815     } 768     }
816     { 769     {
817         PyObject *tmp_assign_source_5; 770         PyObject *tmp_assign_source_5;
818 771
819 772
825         PyObject *tmp_assign_source_6; 778         PyObject *tmp_assign_source_6;
826 779
827 780
828         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 781         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
829 782
n 830         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_6); n 783         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_6);
831     } 784     }
832     { 785     {
833         PyObject *tmp_assign_source_7; 786         PyObject *tmp_assign_source_7;
834         PyObject *tmp_iter_arg_1; 787         PyObject *tmp_iter_arg_1;
835         PyObject *tmp_called_instance_1; 788         PyObject *tmp_called_instance_1;
n 836         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); n 789         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]);
837 790
838         if (unlikely(tmp_called_instance_1 == NULL)) { 791         if (unlikely(tmp_called_instance_1 == NULL)) {
n 839             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); n 792             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[5]);
840         } 793         }
841 794
842         assert(!(tmp_called_instance_1 == NULL)); 795         assert(!(tmp_called_instance_1 == NULL));
843         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 27; 796         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 27;
844         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 797         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
845             tstate, 798             tstate,
846             tmp_called_instance_1, 799             tmp_called_instance_1,
n 847             mod_consts[9], n 800             mod_consts[7],
848             &PyTuple_GET_ITEM(mod_consts[10], 0) 801             &PyTuple_GET_ITEM(mod_consts[8], 0)
849         ); 802         );
850 803
851         if (tmp_iter_arg_1 == NULL) { 804         if (tmp_iter_arg_1 == NULL) {
852             assert(HAS_ERROR_OCCURRED(tstate)); 805             assert(HAS_ERROR_OCCURRED(tstate));
853 806
903     } 856     }
904     { 857     {
905         PyObject *tmp_assign_source_9; 858         PyObject *tmp_assign_source_9;
906         CHECK_OBJECT(tmp_for_loop_1__iter_value); 859         CHECK_OBJECT(tmp_for_loop_1__iter_value);
907         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 860         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 908         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_9); n 861         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_9);
909     } 862     }
910     { 863     {
911         PyObject *tmp_called_value_1; 864         PyObject *tmp_called_value_1;
912         PyObject *tmp_call_result_1; 865         PyObject *tmp_call_result_1;
n 913         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[8]); n 866         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
914 867
915         if (unlikely(tmp_called_value_1 == NULL)) { 868         if (unlikely(tmp_called_value_1 == NULL)) {
n 916             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[8]); n 869             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
917         } 870         }
918 871
919         if (tmp_called_value_1 == NULL) { 872         if (tmp_called_value_1 == NULL) {
920             assert(HAS_ERROR_OCCURRED(tstate)); 873             assert(HAS_ERROR_OCCURRED(tstate));
921 874
984     Py_DECREF(tmp_for_loop_1__for_iterator); 937     Py_DECREF(tmp_for_loop_1__for_iterator);
985     tmp_for_loop_1__for_iterator = NULL; 938     tmp_for_loop_1__for_iterator = NULL;
986     { 939     {
987         PyObject *tmp_called_value_2; 940         PyObject *tmp_called_value_2;
988         PyObject *tmp_call_result_2; 941         PyObject *tmp_call_result_2;
n 989         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[12]); n 942         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[10]);
990         assert(tmp_called_value_2 != NULL); 943         assert(tmp_called_value_2 != NULL);
991         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 30; 944         frame_8612320727f077e5e6198c02d327fe1a->m_frame.f_lineno = 30;
t 992         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[13]); t 945         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[11]);
993 946
994         if (tmp_call_result_2 == NULL) { 947         if (tmp_call_result_2 == NULL) {
995             assert(HAS_ERROR_OCCURRED(tstate)); 948             assert(HAS_ERROR_OCCURRED(tstate));
996 949
997             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 950             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);