Construct CallCompiledFunctionPosArgsDefaults

Performance Diagrams

Construct CallCompiledFunctionPosArgsDefaults 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)16047176288.11538461538461257.0CPython 2.751450330240.03846153846155424.88544454319634Nuitka (master)51450330391.96153846153845424.88544454319634Nuitka (develop)51450330543.8846153846154424.88544454319634Nuitka (factory)Construct CallCompiledFunctionPosArgsDefaultsTicks Construct CallCompiledFunctionPosArgsDefaults 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)18199102488.11538461538461257.0CPython 3.555451057240.03846153846155428.82151035329673Nuitka (master)55448620391.96153846153845428.82481941865103Nuitka (develop)55450862543.8846153846154428.82177513283887Nuitka (factory)Construct CallCompiledFunctionPosArgsDefaultsTicks

Source Code with Construct

from __future__ import print_function

def compiled_func(a = 1,b = 2,c = 3,d = 4,e = 5,f = 6):
    return a, b, c, d, e, f

def calledRepeatedly():
    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
# construct_begin
    compiled_func()
    compiled_func()
    compiled_func()
# construct_alternative



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

print("OK.")

Source Code without Construct

from __future__ import print_function

def compiled_func(a = 1,b = 2,c = 3,d = 4,e = 5,f = 6):
    return a, b, c, d, e, f

def calledRepeatedly():
    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
# construct_begin



# construct_alternative
    pass
# construct_end

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

print("OK.")

Context Diff of Source Code


Construct
Baseline
24 24
25 def calledRepeatedly(): 25 def calledRepeatedly():
26     # This is supposed to make a call to a non-compiled function, which is 26     # This is supposed to make a call to a non-compiled function, which is
27     # being optimized separately. 27     # being optimized separately.
28 # construct_begin 28 # construct_begin
n 29     compiled_func() n
30     compiled_func()
31     compiled_func()
32 # construct_alternative
33 29
34 30
t t 31  
32 # construct_alternative
33     pass
34 # construct_end
35 35
36 import itertools 36 import itertools
37 for x in itertools.repeat(None, 50000): 37 for x in itertools.repeat(None, 50000):
38     calledRepeatedly() 38     calledRepeatedly()
39 39

Context Diff of Generated Code


Construct
Baseline
57 } 57 }
58 #endif 58 #endif
59 59
60 // The module code objects. 60 // The module code objects.
61 static PyCodeObject *codeobj_bfe1bd9408b8537370f8f409e902a5e3; 61 static PyCodeObject *codeobj_bfe1bd9408b8537370f8f409e902a5e3;
n 62 static PyCodeObject *codeobj_fde88366232cac82ac6d08af46fbe0b2; n 62 static PyCodeObject *codeobj_8eaacc1f26496338df9bfbba509b84a2;
63 static PyCodeObject *codeobj_39af9a83de802bd526728a5bf8de032b; 63 static PyCodeObject *codeobj_39af9a83de802bd526728a5bf8de032b;
64 /* For use in "MainProgram.c". */ 64 /* For use in "MainProgram.c". */
65 PyCodeObject *codeobj_main = NULL; 65 PyCodeObject *codeobj_main = NULL;
66 66
67 static void createModuleCodeObjects(void) { 67 static void createModuleCodeObjects(void) {
n 68     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj); n 68     module_filename_obj = mod_consts[1]; CHECK_OBJECT(module_filename_obj);
69     codeobj_bfe1bd9408b8537370f8f409e902a5e3 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], mod_consts[16], 0, 0, 0); 69     codeobj_bfe1bd9408b8537370f8f409e902a5e3 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], mod_consts[16], 0, 0, 0);
n 70     codeobj_fde88366232cac82ac6d08af46fbe0b2 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[8], mod_consts[16], 0, 0, 0); n 70     codeobj_8eaacc1f26496338df9bfbba509b84a2 = MAKE_CODEOBJECT(module_filename_obj, 25, CO_NOFREE, mod_consts[8], mod_consts[16], 0, 0, 0);
71     codeobj_39af9a83de802bd526728a5bf8de032b = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[0], mod_consts[17], 6, 0, 0); 71     codeobj_39af9a83de802bd526728a5bf8de032b = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[7], mod_consts[17], 6, 0, 0);
72 } 72 }
73 73
74 // The module function declarations. 74 // The module function declarations.
75 static PyObject *MAKE_FUNCTION___main__$$$function_1_compiled_func(PyObject *defaults); 75 static PyObject *MAKE_FUNCTION___main__$$$function_1_compiled_func(PyObject *defaults);
76 76
150    assert(had_error || !ERROR_OCCURRED()); 150    assert(had_error || !ERROR_OCCURRED());
151    return tmp_return_value; 151    return tmp_return_value;
152 } 152 }
153 153
154 154
n 155 static PyObject *impl___main__$$$function_2_calledRepeatedly(struct Nuitka_FunctionObject const *self, PyObject **python_pars) { n
156     // Preserve error status for checks
157 #ifndef __NUITKA_NO_ASSERT__
158     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
159 #endif
160  
161     // Local variable declarations.
162     struct Nuitka_FrameObject *frame_fde88366232cac82ac6d08af46fbe0b2;
163     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
164     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused;
165     PyObject *exception_type = NULL;
166     PyObject *exception_value = NULL;
167     PyTracebackObject *exception_tb = NULL;
168     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
169     static struct Nuitka_FrameObject *cache_frame_fde88366232cac82ac6d08af46fbe0b2 = NULL;
170     PyObject *tmp_return_value = NULL;
171  
172     // Actual function body.
173     if (isFrameUnusable(cache_frame_fde88366232cac82ac6d08af46fbe0b2)) {
174         Py_XDECREF(cache_frame_fde88366232cac82ac6d08af46fbe0b2);
175  
176 #if _DEBUG_REFCOUNTS
177         if (cache_frame_fde88366232cac82ac6d08af46fbe0b2 == NULL) {
178             count_active_frame_cache_instances += 1;
179         } else {
180             count_released_frame_cache_instances += 1;
181         }
182         count_allocated_frame_cache_instances += 1;
183 #endif
184         cache_frame_fde88366232cac82ac6d08af46fbe0b2 = MAKE_FUNCTION_FRAME(codeobj_fde88366232cac82ac6d08af46fbe0b2, module___main__, 0);
185 #if _DEBUG_REFCOUNTS
186     } else {
187         count_hit_frame_cache_instances += 1;
188 #endif
189     }
190     assert(cache_frame_fde88366232cac82ac6d08af46fbe0b2->m_type_description == NULL);
191     frame_fde88366232cac82ac6d08af46fbe0b2 = cache_frame_fde88366232cac82ac6d08af46fbe0b2;
192  
193     // Push the new frame as the currently active one.
194     pushFrameStack(frame_fde88366232cac82ac6d08af46fbe0b2);
195  
196     // Mark the frame object as in use, ref count 1 will be up for reuse.
197     assert(Py_REFCNT(frame_fde88366232cac82ac6d08af46fbe0b2) == 2); // Frame stack
198  
199     // Framed code:
200     {
201         PyObject *tmp_called_name_1;
202         PyObject *tmp_mvar_value_1;
203         PyObject *tmp_call_result_1;
204         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]);
205  
206         if (unlikely(tmp_mvar_value_1 == NULL)) {
207             tmp_mvar_value_1 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)mod_consts[0]);
208         }
209  
210         if (unlikely(tmp_mvar_value_1 == NULL)) {
211  
212             FORMAT_NAME_ERROR(&exception_type, &exception_value, mod_consts[0]);
213             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
214             CHAIN_EXCEPTION(exception_value);
215  
216             exception_lineno = 29;
217  
218             goto frame_exception_exit_1;
219         }
220  
221         tmp_called_name_1 = tmp_mvar_value_1;
222         frame_fde88366232cac82ac6d08af46fbe0b2->m_frame.f_lineno = 29;
223         tmp_call_result_1 = CALL_FUNCTION_NO_ARGS(tmp_called_name_1);
224         if (tmp_call_result_1 == NULL) {
225             assert(ERROR_OCCURRED());
226  
227             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
228  
229  
230             exception_lineno = 29;
231  
232             goto frame_exception_exit_1;
233         }
234         Py_DECREF(tmp_call_result_1);
235     }
236     {
237         PyObject *tmp_called_name_2;
238         PyObject *tmp_mvar_value_2;
239         PyObject *tmp_call_result_2;
240         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]);
241  
242         if (unlikely(tmp_mvar_value_2 == NULL)) {
243             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)mod_consts[0]);
244         }
245  
246         if (unlikely(tmp_mvar_value_2 == NULL)) {
247  
248             FORMAT_NAME_ERROR(&exception_type, &exception_value, mod_consts[0]);
249             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
250             CHAIN_EXCEPTION(exception_value);
251  
252             exception_lineno = 30;
253  
254             goto frame_exception_exit_1;
255         }
256  
257         tmp_called_name_2 = tmp_mvar_value_2;
258         frame_fde88366232cac82ac6d08af46fbe0b2->m_frame.f_lineno = 30;
259         tmp_call_result_2 = CALL_FUNCTION_NO_ARGS(tmp_called_name_2);
260         if (tmp_call_result_2 == NULL) {
261             assert(ERROR_OCCURRED());
262  
263             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
264  
265  
266             exception_lineno = 30;
267  
268             goto frame_exception_exit_1;
269         }
270         Py_DECREF(tmp_call_result_2);
271     }
272     {
273         PyObject *tmp_called_name_3;
274         PyObject *tmp_mvar_value_3;
275         PyObject *tmp_call_result_3;
276         tmp_mvar_value_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[0]);
277  
278         if (unlikely(tmp_mvar_value_3 == NULL)) {
279             tmp_mvar_value_3 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)mod_consts[0]);
280         }
281  
282         if (unlikely(tmp_mvar_value_3 == NULL)) {
283  
284             FORMAT_NAME_ERROR(&exception_type, &exception_value, mod_consts[0]);
285             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
286             CHAIN_EXCEPTION(exception_value);
287  
288             exception_lineno = 31;
289  
290             goto frame_exception_exit_1;
291         }
292  
293         tmp_called_name_3 = tmp_mvar_value_3;
294         frame_fde88366232cac82ac6d08af46fbe0b2->m_frame.f_lineno = 31;
295         tmp_call_result_3 = CALL_FUNCTION_NO_ARGS(tmp_called_name_3);
296         if (tmp_call_result_3 == NULL) {
297             assert(ERROR_OCCURRED());
298  
299             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
300  
301  
302             exception_lineno = 31;
303  
304             goto frame_exception_exit_1;
305         }
306         Py_DECREF(tmp_call_result_3);
307     }
308  
309 #if 0
310     RESTORE_FRAME_EXCEPTION(frame_fde88366232cac82ac6d08af46fbe0b2);
311 #endif
312  
313     // Put the previous frame back on top.
314     popFrameStack();
315  
316     goto frame_no_exception_1;
317  
318     frame_exception_exit_1:;
319  
320 #if 0
321     RESTORE_FRAME_EXCEPTION(frame_fde88366232cac82ac6d08af46fbe0b2);
322 #endif
323  
324     if (exception_tb == NULL) {
325         exception_tb = MAKE_TRACEBACK(frame_fde88366232cac82ac6d08af46fbe0b2, exception_lineno);
326     } else if (exception_tb->tb_frame != &frame_fde88366232cac82ac6d08af46fbe0b2->m_frame) {
327         exception_tb = ADD_TRACEBACK(exception_tb, frame_fde88366232cac82ac6d08af46fbe0b2, exception_lineno);
328     }
329  
330     // Attachs locals to frame if any.
331     Nuitka_Frame_AttachLocals(
332         frame_fde88366232cac82ac6d08af46fbe0b2,
333         type_description_1
334     );
335  
336  
337     // Release cached frame.
338     if (frame_fde88366232cac82ac6d08af46fbe0b2 == cache_frame_fde88366232cac82ac6d08af46fbe0b2) {
339 #if _DEBUG_REFCOUNTS
340         count_active_frame_cache_instances -= 1;
341         count_released_frame_cache_instances += 1;
342 #endif
343  
344         Py_DECREF(frame_fde88366232cac82ac6d08af46fbe0b2);
345     }
346     cache_frame_fde88366232cac82ac6d08af46fbe0b2 = NULL;
347  
348     assertFrameObject(frame_fde88366232cac82ac6d08af46fbe0b2);
349  
350     // Put the previous frame back on top.
351     popFrameStack();
352  
353     // Return the error.
354     goto function_exception_exit;
355  
356     frame_no_exception_1:;
357     tmp_return_value = Py_None;
358     Py_INCREF(tmp_return_value);
359     goto function_return_exit;
360  
361     NUITKA_CANNOT_GET_HERE("Return statement must have exited already.");
362     return NULL;
363  
364 function_exception_exit:
365     assert(exception_type);
366     RESTORE_ERROR_OCCURRED(exception_type, exception_value, exception_tb);
367  
368     return NULL;
369  
370 function_return_exit:
371    // Function cleanup code if any.
372  
373  
374    // Actual function exit with return value, making sure we did not make
375    // the error status worse despite non-NULL return.
376    CHECK_OBJECT(tmp_return_value);
377    assert(had_error || !ERROR_OCCURRED());
378    return tmp_return_value;
379 }
380  
381  
382 155
383 static PyObject *MAKE_FUNCTION___main__$$$function_1_compiled_func(PyObject *defaults) { 156 static PyObject *MAKE_FUNCTION___main__$$$function_1_compiled_func(PyObject *defaults) {
384     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 157     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
385         impl___main__$$$function_1_compiled_func, 158         impl___main__$$$function_1_compiled_func,
n 386         mod_consts[0], n 159         mod_consts[7],
387 #if PYTHON_VERSION >= 300 160 #if PYTHON_VERSION >= 300
388         NULL, 161         NULL,
389 #endif 162 #endif
390         codeobj_39af9a83de802bd526728a5bf8de032b, 163         codeobj_39af9a83de802bd526728a5bf8de032b,
391         defaults, 164         defaults,
404 177
405 178
406 179
407 static PyObject *MAKE_FUNCTION___main__$$$function_2_calledRepeatedly() { 180 static PyObject *MAKE_FUNCTION___main__$$$function_2_calledRepeatedly() {
408     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 181     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
n 409         impl___main__$$$function_2_calledRepeatedly, n 182         NULL,
410         mod_consts[8], 183         mod_consts[8],
411 #if PYTHON_VERSION >= 300 184 #if PYTHON_VERSION >= 300
412         NULL, 185         NULL,
413 #endif 186 #endif
n 414         codeobj_fde88366232cac82ac6d08af46fbe0b2, n 187         codeobj_8eaacc1f26496338df9bfbba509b84a2,
415         NULL, 188         NULL,
416 #if PYTHON_VERSION >= 300 189 #if PYTHON_VERSION >= 300
417         NULL, 190         NULL,
418         NULL, 191         NULL,
419 #endif 192 #endif
439 // Provide a way to create find a function via its C code and create it back 212 // Provide a way to create find a function via its C code and create it back
440 // in another process, useful for multiprocessing extensions like dill 213 // in another process, useful for multiprocessing extensions like dill
441 214
442 function_impl_code functable___main__[] = { 215 function_impl_code functable___main__[] = {
443     impl___main__$$$function_1_compiled_func, 216     impl___main__$$$function_1_compiled_func,
n 444     impl___main__$$$function_2_calledRepeatedly, n 217     NULL,
445     NULL 218     NULL
446 }; 219 };
447 220
448 static char const *_reduce_compiled_function_argnames[] = { 221 static char const *_reduce_compiled_function_argnames[] = {
449     "func", 222     "func",
807 580
808     // Module code. 581     // Module code.
809     { 582     {
810         PyObject *tmp_assign_source_1; 583         PyObject *tmp_assign_source_1;
811         tmp_assign_source_1 = Py_None; 584         tmp_assign_source_1 = Py_None;
n 812         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1); n 585         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_1);
813     } 586     }
814     { 587     {
815         PyObject *tmp_assign_source_2; 588         PyObject *tmp_assign_source_2;
n 816         tmp_assign_source_2 = mod_consts[2]; n 589         tmp_assign_source_2 = mod_consts[1];
817         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2); 590         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_2);
818     } 591     }
819     { 592     {
820         PyObject *tmp_assign_source_3; 593         PyObject *tmp_assign_source_3;
821         tmp_assign_source_3 = Py_None; 594         tmp_assign_source_3 = Py_None;
n 822         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3); n 595         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_3);
823     } 596     }
824     // Frame without reuse. 597     // Frame without reuse.
825     frame_bfe1bd9408b8537370f8f409e902a5e3 = MAKE_MODULE_FRAME(codeobj_bfe1bd9408b8537370f8f409e902a5e3, module___main__); 598     frame_bfe1bd9408b8537370f8f409e902a5e3 = MAKE_MODULE_FRAME(codeobj_bfe1bd9408b8537370f8f409e902a5e3, module___main__);
826 599
827     // Push the new frame as the currently active one, and we should be exclusively 600     // Push the new frame as the currently active one, and we should be exclusively
838         assert(!(tmp_import_name_from_1 == NULL)); 611         assert(!(tmp_import_name_from_1 == NULL));
839         if (PyModule_Check(tmp_import_name_from_1)) { 612         if (PyModule_Check(tmp_import_name_from_1)) {
840             tmp_assign_source_4 = IMPORT_NAME_OR_MODULE( 613             tmp_assign_source_4 = IMPORT_NAME_OR_MODULE(
841                 tmp_import_name_from_1, 614                 tmp_import_name_from_1,
842                 (PyObject *)moduledict___main__, 615                 (PyObject *)moduledict___main__,
n n 616                 mod_consts[4],
843                 mod_consts[5], 617                 mod_consts[5]
844                 mod_consts[6]
845             ); 618             );
846         } else { 619         } else {
n 847             tmp_assign_source_4 = IMPORT_NAME(tmp_import_name_from_1, mod_consts[5]); n 620             tmp_assign_source_4 = IMPORT_NAME(tmp_import_name_from_1, mod_consts[4]);
848         } 621         }
849 622
850         if (tmp_assign_source_4 == NULL) { 623         if (tmp_assign_source_4 == NULL) {
851             assert(ERROR_OCCURRED()); 624             assert(ERROR_OCCURRED());
852 625
855 628
856             exception_lineno = 20; 629             exception_lineno = 20;
857 630
858             goto frame_exception_exit_1; 631             goto frame_exception_exit_1;
859         } 632         }
n 860         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4); n 633         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_4);
861     } 634     }
862     { 635     {
863         PyObject *tmp_assign_source_5; 636         PyObject *tmp_assign_source_5;
864         PyObject *tmp_defaults_1; 637         PyObject *tmp_defaults_1;
n 865         tmp_defaults_1 = mod_consts[7]; n 638         tmp_defaults_1 = mod_consts[6];
866         Py_INCREF(tmp_defaults_1); 639         Py_INCREF(tmp_defaults_1);
867 640
868 641
869         tmp_assign_source_5 = MAKE_FUNCTION___main__$$$function_1_compiled_func(tmp_defaults_1); 642         tmp_assign_source_5 = MAKE_FUNCTION___main__$$$function_1_compiled_func(tmp_defaults_1);
870 643
n 871         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_5); n 644         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_5);
872     } 645     }
873     { 646     {
874         PyObject *tmp_assign_source_6; 647         PyObject *tmp_assign_source_6;
875 648
876 649
887         PyObject *tmp_level_name_1; 660         PyObject *tmp_level_name_1;
888         tmp_name_name_1 = mod_consts[9]; 661         tmp_name_name_1 = mod_consts[9];
889         tmp_globals_name_1 = (PyObject *)moduledict___main__; 662         tmp_globals_name_1 = (PyObject *)moduledict___main__;
890         tmp_locals_name_1 = Py_None; 663         tmp_locals_name_1 = Py_None;
891         tmp_fromlist_name_1 = Py_None; 664         tmp_fromlist_name_1 = Py_None;
t 892         tmp_level_name_1 = mod_consts[6]; t 665         tmp_level_name_1 = mod_consts[5];
893         frame_bfe1bd9408b8537370f8f409e902a5e3->m_frame.f_lineno = 36; 666         frame_bfe1bd9408b8537370f8f409e902a5e3->m_frame.f_lineno = 36;
894         tmp_assign_source_7 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1); 667         tmp_assign_source_7 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1);
895         assert(!(tmp_assign_source_7 == NULL)); 668         assert(!(tmp_assign_source_7 == NULL));
896         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_7); 669         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_7);
897     } 670     }