Construct DictCreation

Performance Diagrams

Construct DictCreation 0010000000100000002000000020000000300000003000000040000000400000005000000050000000600000006000000070000000700000008000000080000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)8269963888.95192307692307257.00000000000006CPython 2.751999637242.31730769230768348.7348943511421Nuitka (master)52000670395.6826923076923348.7318076363936Nuitka (develop)52000666549.0480769230769348.7318195888224Nuitka (factory)Construct DictCreationTicks Construct DictCreation 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)9961083788.95192307692307257.0CPython 3.571999977242.31730769230768325.4972488330917Nuitka (master)71999383395.6826923076923325.49872243318265Nuitka (develop)72000453549.0480769230769325.49606796837236Nuitka (factory)Construct DictCreationTicks

Source Code with Construct

module_value1 = module_value2 = module_value3 = module_value4 = 1000
module_key1 = module_key2 = module_key3 = module_key4 = 1000

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

# construct_begin
    l = {
        module_key1 : module_value1,
        module_key2 : module_value2,
        module_key3 : module_value3,
        module_key4 : module_value4
    }
# construct_alternative



    return l

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

print("OK.")

Source Code without Construct

module_value1 = module_value2 = module_value3 = module_value4 = 1000
module_key1 = module_key2 = module_key3 = module_key4 = 1000

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

# construct_begin






# construct_alternative
    l = 1
# construct_end

    return l

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

print("OK.")

Context Diff of Source Code


Construct
Baseline
23 def calledRepeatedly(): 23 def calledRepeatedly():
24     # Force frame and eliminate forward propagation (currently). 24     # Force frame and eliminate forward propagation (currently).
25     module_value1 25     module_value1
26 26
27 # construct_begin 27 # construct_begin
n 28     l = { n
29         module_key1 : module_value1,
30         module_key2 : module_value2,
31         module_key3 : module_value3,
32         module_key4 : module_value4
33     }
34 # construct_alternative
35 28
36 29
t t 30  
31  
32  
33  
34 # construct_alternative
35     l = 1
36 # construct_end
37 37
38     return l 38     return l
39 39
40 import itertools 40 import itertools
41 for x in itertools.repeat(None, 50000): 41 for x in itertools.repeat(None, 50000):

Context Diff of Generated Code


Construct
Baseline
34 static PyObject *const_str_plain_itertools; 34 static PyObject *const_str_plain_itertools;
35 static PyObject *const_tuple_str_plain_l_tuple; 35 static PyObject *const_tuple_str_plain_l_tuple;
36 static PyObject *const_str_plain_module_key4; 36 static PyObject *const_str_plain_module_key4;
37 static PyObject *const_str_plain_module_value4; 37 static PyObject *const_str_plain_module_value4;
38 static PyObject *const_str_plain_module_key3; 38 static PyObject *const_str_plain_module_key3;
n n 39 extern PyObject *const_int_pos_1;
39 extern PyObject *const_str_plain___file__; 40 extern PyObject *const_str_plain___file__;
40 extern PyObject *const_int_0; 41 extern PyObject *const_int_0;
41 static PyObject *const_str_plain_module_key2; 42 static PyObject *const_str_plain_module_key2;
42 static PyObject *const_str_digest_af74629602fcef793c61b8abfc2504b9; 43 static PyObject *const_str_digest_af74629602fcef793c61b8abfc2504b9;
43 extern PyObject *const_str_plain_print; 44 extern PyObject *const_str_plain_print;
65 static bool constants_created = false; 66 static bool constants_created = false;
66 67
67 /* Function to create module private constants. */ 68 /* Function to create module private constants. */
68 static void createModuleConstants( void ) 69 static void createModuleConstants( void )
69 { 70 {
n 70     const_str_plain_itertools = UNSTREAM_STRING_ASCII(&constant_bin[ 310 ], 9, 1); n 71     const_str_plain_itertools = UNSTREAM_STRING_ASCII(&constant_bin[ 73 ], 9, 1);
71     const_tuple_str_plain_l_tuple = PyTuple_New(1); 72     const_tuple_str_plain_l_tuple = PyTuple_New(1);
72     const_str_plain_l = UNSTREAM_STRING_ASCII(&constant_bin[ 10 ], 1, 1); 73     const_str_plain_l = UNSTREAM_STRING_ASCII(&constant_bin[ 10 ], 1, 1);
73     PyTuple_SET_ITEM(const_tuple_str_plain_l_tuple, 0, const_str_plain_l); Py_INCREF(const_str_plain_l); 74     PyTuple_SET_ITEM(const_tuple_str_plain_l_tuple, 0, const_str_plain_l); Py_INCREF(const_str_plain_l);
n 74     const_str_plain_module_key4 = UNSTREAM_STRING_ASCII(&constant_bin[ 210 ], 11, 1); n 75     const_str_plain_module_key4 = UNSTREAM_STRING_ASCII(&constant_bin[ 82 ], 11, 1);
75     const_str_plain_module_value4 = UNSTREAM_STRING_ASCII(&constant_bin[ 243 ], 13, 1); 76     const_str_plain_module_value4 = UNSTREAM_STRING_ASCII(&constant_bin[ 93 ], 13, 1);
76     const_str_plain_module_key3 = UNSTREAM_STRING_ASCII(&constant_bin[ 142 ], 11, 1); 77     const_str_plain_module_key3 = UNSTREAM_STRING_ASCII(&constant_bin[ 106 ], 11, 1);
77     const_str_plain_module_key2 = UNSTREAM_STRING_ASCII(&constant_bin[ 74 ], 11, 1); 78     const_str_plain_module_key2 = UNSTREAM_STRING_ASCII(&constant_bin[ 117 ], 11, 1);
78     const_str_digest_af74629602fcef793c61b8abfc2504b9 = UNSTREAM_STRING_ASCII(&constant_bin[ 319 ], 37, 0); 79     const_str_digest_af74629602fcef793c61b8abfc2504b9 = UNSTREAM_STRING_ASCII(&constant_bin[ 128 ], 37, 0);
79     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul); 80     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul);
n 80     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII(&constant_bin[ 107 ], 13, 1); n 81     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII(&constant_bin[ 165 ], 13, 1);
81     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New(1); 82     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New(1);
n 82     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII(&constant_bin[ 356 ], 3, 0); n 83     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII(&constant_bin[ 178 ], 3, 0);
83     PyTuple_SET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352); 84     PyTuple_SET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352);
84     const_int_pos_1000 = PyLong_FromUnsignedLong(1000ul); 85     const_int_pos_1000 = PyLong_FromUnsignedLong(1000ul);
85     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII(&constant_bin[ 6 ], 13, 1); 86     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII(&constant_bin[ 6 ], 13, 1);
n 86     const_str_plain_module_value3 = UNSTREAM_STRING_ASCII(&constant_bin[ 175 ], 13, 1); n 87     const_str_plain_module_value3 = UNSTREAM_STRING_ASCII(&constant_bin[ 181 ], 13, 1);
87     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII(&constant_bin[ 278 ], 16, 1); 88     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII(&constant_bin[ 41 ], 16, 1);
88     const_str_angle_module = UNSTREAM_STRING_ASCII(&constant_bin[ 359 ], 8, 0); 89     const_str_angle_module = UNSTREAM_STRING_ASCII(&constant_bin[ 194 ], 8, 0);
89     const_str_plain_None = UNSTREAM_STRING_ASCII(&constant_bin[ 367 ], 4, 1); 90     const_str_plain_None = UNSTREAM_STRING_ASCII(&constant_bin[ 202 ], 4, 1);
90     const_str_plain_x = UNSTREAM_STRING_ASCII(&constant_bin[ 371 ], 1, 1); 91     const_str_plain_x = UNSTREAM_STRING_ASCII(&constant_bin[ 206 ], 1, 1);
91     const_str_plain_repeat = UNSTREAM_STRING_ASCII(&constant_bin[ 372 ], 6, 1); 92     const_str_plain_repeat = UNSTREAM_STRING_ASCII(&constant_bin[ 207 ], 6, 1);
92     const_tuple_none_int_pos_50000_tuple = PyTuple_New(2); 93     const_tuple_none_int_pos_50000_tuple = PyTuple_New(2);
93     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 0, Py_None); Py_INCREF(Py_None); 94     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 0, Py_None); Py_INCREF(Py_None);
94     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000); Py_INCREF(const_int_pos_50000); 95     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000); Py_INCREF(const_int_pos_50000);
n 95     const_str_plain_module_key1 = UNSTREAM_STRING_ASCII(&constant_bin[ 41 ], 11, 1); n 96     const_str_plain_module_key1 = UNSTREAM_STRING_ASCII(&constant_bin[ 213 ], 11, 1);
96 97
97     constants_created = true; 98     constants_created = true;
98 } 99 }
99 100
100 /* Function to verify module private constants for non-corruption. */ 101 /* Function to verify module private constants for non-corruption. */
131 #ifndef __NUITKA_NO_ASSERT__ 132 #ifndef __NUITKA_NO_ASSERT__
132     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); 133     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
133 #endif 134 #endif
134 135
135     // Local variable declarations. 136     // Local variable declarations.
n 136     PyObject *var_l = NULL; n
137     struct Nuitka_FrameObject *frame_f72a667c690fae791d6a8935f26ae3f2; 137     struct Nuitka_FrameObject *frame_f72a667c690fae791d6a8935f26ae3f2;
138     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 138     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
139     PyObject *exception_type = NULL; 139     PyObject *exception_type = NULL;
140     PyObject *exception_value = NULL; 140     PyObject *exception_value = NULL;
141     PyTracebackObject *exception_tb = NULL; 141     PyTracebackObject *exception_tb = NULL;
142     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 142     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 143     int tmp_res; n
144     static struct Nuitka_FrameObject *cache_frame_f72a667c690fae791d6a8935f26ae3f2 = NULL; 143     static struct Nuitka_FrameObject *cache_frame_f72a667c690fae791d6a8935f26ae3f2 = NULL;
145     PyObject *tmp_return_value = NULL; 144     PyObject *tmp_return_value = NULL;
n 146     PyObject *exception_keeper_type_1; n
147     PyObject *exception_keeper_value_1;
148     PyTracebackObject *exception_keeper_tb_1;
149     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
150 145
151     // Actual function body. 146     // Actual function body.
n 152     // Tried code: n
153     MAKE_OR_REUSE_FRAME(cache_frame_f72a667c690fae791d6a8935f26ae3f2, codeobj_f72a667c690fae791d6a8935f26ae3f2, module___main__, sizeof(void *)); 147     MAKE_OR_REUSE_FRAME(cache_frame_f72a667c690fae791d6a8935f26ae3f2, codeobj_f72a667c690fae791d6a8935f26ae3f2, module___main__, sizeof(void *));
154     frame_f72a667c690fae791d6a8935f26ae3f2 = cache_frame_f72a667c690fae791d6a8935f26ae3f2; 148     frame_f72a667c690fae791d6a8935f26ae3f2 = cache_frame_f72a667c690fae791d6a8935f26ae3f2;
155 149
156     // Push the new frame as the currently active one. 150     // Push the new frame as the currently active one.
157     pushFrameStack(frame_f72a667c690fae791d6a8935f26ae3f2); 151     pushFrameStack(frame_f72a667c690fae791d6a8935f26ae3f2);
176             exception_tb = NULL; 170             exception_tb = NULL;
177             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb); 171             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
178             CHAIN_EXCEPTION(exception_value); 172             CHAIN_EXCEPTION(exception_value);
179 173
180             exception_lineno = 25; 174             exception_lineno = 25;
n 181             type_description_1 = "o"; n 175             type_description_1 = "N";
182             goto frame_exception_exit_1; 176             goto frame_exception_exit_1;
183         } 177         }
184 178
n 185     } n
186     {
187         PyObject *tmp_assign_source_1;
188         PyObject *tmp_dict_key_1;
189         PyObject *tmp_dict_value_1;
190         PyObject *tmp_mvar_value_2;
191         PyObject *tmp_mvar_value_3;
192         PyObject *tmp_dict_key_2;
193         PyObject *tmp_dict_value_2;
194         PyObject *tmp_mvar_value_4;
195         PyObject *tmp_mvar_value_5;
196         PyObject *tmp_dict_key_3;
197         PyObject *tmp_dict_value_3;
198         PyObject *tmp_mvar_value_6;
199         PyObject *tmp_mvar_value_7;
200         PyObject *tmp_dict_key_4;
201         PyObject *tmp_dict_value_4;
202         PyObject *tmp_mvar_value_8;
203         PyObject *tmp_mvar_value_9;
204         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_key1);
205  
206         if (unlikely(tmp_mvar_value_2 == NULL)) {
207             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_key1);
208         }
209  
210         if (tmp_mvar_value_2 == NULL) {
211  
212             exception_type = PyExc_NameError;
213             Py_INCREF(exception_type);
214             exception_value = UNSTREAM_STRING(&constant_bin[ 35 ], 33, 0);
215             exception_tb = NULL;
216             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
217             CHAIN_EXCEPTION(exception_value);
218  
219             exception_lineno = 29;
220             type_description_1 = "o";
221             goto frame_exception_exit_1;
222         }
223  
224         tmp_dict_key_1 = tmp_mvar_value_2;
225         tmp_mvar_value_3 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1);
226  
227         if (unlikely(tmp_mvar_value_3 == NULL)) {
228             tmp_mvar_value_3 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1);
229         }
230  
231         if (tmp_mvar_value_3 == NULL) {
232  
233             exception_type = PyExc_NameError;
234             Py_INCREF(exception_type);
235             exception_value = UNSTREAM_STRING(&constant_bin[ 0 ], 35, 0);
236             exception_tb = NULL;
237             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
238             CHAIN_EXCEPTION(exception_value);
239  
240             exception_lineno = 29;
241             type_description_1 = "o";
242             goto frame_exception_exit_1;
243         }
244  
245         tmp_dict_value_1 = tmp_mvar_value_3;
246         tmp_assign_source_1 = _PyDict_NewPresized( 4 );
247         tmp_res = PyDict_SetItem(tmp_assign_source_1, tmp_dict_key_1, tmp_dict_value_1);
248         if (tmp_res != 0) {
249             assert(ERROR_OCCURRED());
250  
251             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
252             Py_DECREF(tmp_assign_source_1);
253  
254             exception_lineno = 28;
255             type_description_1 = "o";
256             goto frame_exception_exit_1;
257         }
258         tmp_mvar_value_4 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_key2);
259  
260         if (unlikely(tmp_mvar_value_4 == NULL)) {
261             tmp_mvar_value_4 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_key2);
262         }
263  
264         if (tmp_mvar_value_4 == NULL) {
265             Py_DECREF(tmp_assign_source_1);
266             exception_type = PyExc_NameError;
267             Py_INCREF(exception_type);
268             exception_value = UNSTREAM_STRING(&constant_bin[ 68 ], 33, 0);
269             exception_tb = NULL;
270             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
271             CHAIN_EXCEPTION(exception_value);
272  
273             exception_lineno = 30;
274             type_description_1 = "o";
275             goto frame_exception_exit_1;
276         }
277  
278         tmp_dict_key_2 = tmp_mvar_value_4;
279         tmp_mvar_value_5 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2);
280  
281         if (unlikely(tmp_mvar_value_5 == NULL)) {
282             tmp_mvar_value_5 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value2);
283         }
284  
285         if (tmp_mvar_value_5 == NULL) {
286             Py_DECREF(tmp_assign_source_1);
287             exception_type = PyExc_NameError;
288             Py_INCREF(exception_type);
289             exception_value = UNSTREAM_STRING(&constant_bin[ 101 ], 35, 0);
290             exception_tb = NULL;
291             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
292             CHAIN_EXCEPTION(exception_value);
293  
294             exception_lineno = 30;
295             type_description_1 = "o";
296             goto frame_exception_exit_1;
297         }
298  
299         tmp_dict_value_2 = tmp_mvar_value_5;
300         tmp_res = PyDict_SetItem(tmp_assign_source_1, tmp_dict_key_2, tmp_dict_value_2);
301         if (tmp_res != 0) {
302             assert(ERROR_OCCURRED());
303  
304             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
305             Py_DECREF(tmp_assign_source_1);
306  
307             exception_lineno = 28;
308             type_description_1 = "o";
309             goto frame_exception_exit_1;
310         }
311         tmp_mvar_value_6 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_key3);
312  
313         if (unlikely(tmp_mvar_value_6 == NULL)) {
314             tmp_mvar_value_6 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_key3);
315         }
316  
317         if (tmp_mvar_value_6 == NULL) {
318             Py_DECREF(tmp_assign_source_1);
319             exception_type = PyExc_NameError;
320             Py_INCREF(exception_type);
321             exception_value = UNSTREAM_STRING(&constant_bin[ 136 ], 33, 0);
322             exception_tb = NULL;
323             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
324             CHAIN_EXCEPTION(exception_value);
325  
326             exception_lineno = 31;
327             type_description_1 = "o";
328             goto frame_exception_exit_1;
329         }
330  
331         tmp_dict_key_3 = tmp_mvar_value_6;
332         tmp_mvar_value_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value3);
333  
334         if (unlikely(tmp_mvar_value_7 == NULL)) {
335             tmp_mvar_value_7 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value3);
336         }
337  
338         if (tmp_mvar_value_7 == NULL) {
339             Py_DECREF(tmp_assign_source_1);
340             exception_type = PyExc_NameError;
341             Py_INCREF(exception_type);
342             exception_value = UNSTREAM_STRING(&constant_bin[ 169 ], 35, 0);
343             exception_tb = NULL;
344             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
345             CHAIN_EXCEPTION(exception_value);
346  
347             exception_lineno = 31;
348             type_description_1 = "o";
349             goto frame_exception_exit_1;
350         }
351  
352         tmp_dict_value_3 = tmp_mvar_value_7;
353         tmp_res = PyDict_SetItem(tmp_assign_source_1, tmp_dict_key_3, tmp_dict_value_3);
354         if (tmp_res != 0) {
355             assert(ERROR_OCCURRED());
356  
357             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
358             Py_DECREF(tmp_assign_source_1);
359  
360             exception_lineno = 28;
361             type_description_1 = "o";
362             goto frame_exception_exit_1;
363         }
364         tmp_mvar_value_8 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_key4);
365  
366         if (unlikely(tmp_mvar_value_8 == NULL)) {
367             tmp_mvar_value_8 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_key4);
368         }
369  
370         if (tmp_mvar_value_8 == NULL) {
371             Py_DECREF(tmp_assign_source_1);
372             exception_type = PyExc_NameError;
373             Py_INCREF(exception_type);
374             exception_value = UNSTREAM_STRING(&constant_bin[ 204 ], 33, 0);
375             exception_tb = NULL;
376             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
377             CHAIN_EXCEPTION(exception_value);
378  
379             exception_lineno = 32;
380             type_description_1 = "o";
381             goto frame_exception_exit_1;
382         }
383  
384         tmp_dict_key_4 = tmp_mvar_value_8;
385         tmp_mvar_value_9 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value4);
386  
387         if (unlikely(tmp_mvar_value_9 == NULL)) {
388             tmp_mvar_value_9 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value4);
389         }
390  
391         if (tmp_mvar_value_9 == NULL) {
392             Py_DECREF(tmp_assign_source_1);
393             exception_type = PyExc_NameError;
394             Py_INCREF(exception_type);
395             exception_value = UNSTREAM_STRING(&constant_bin[ 237 ], 35, 0);
396             exception_tb = NULL;
397             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
398             CHAIN_EXCEPTION(exception_value);
399  
400             exception_lineno = 32;
401             type_description_1 = "o";
402             goto frame_exception_exit_1;
403         }
404  
405         tmp_dict_value_4 = tmp_mvar_value_9;
406         tmp_res = PyDict_SetItem(tmp_assign_source_1, tmp_dict_key_4, tmp_dict_value_4);
407         if (tmp_res != 0) {
408             assert(ERROR_OCCURRED());
409  
410             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
411             Py_DECREF(tmp_assign_source_1);
412  
413             exception_lineno = 28;
414             type_description_1 = "o";
415             goto frame_exception_exit_1;
416         }
417         assert(var_l == NULL);
418         var_l = tmp_assign_source_1;
419     } 179     }
420 180
421 #if 0 181 #if 0
422     RESTORE_FRAME_EXCEPTION(frame_f72a667c690fae791d6a8935f26ae3f2); 182     RESTORE_FRAME_EXCEPTION(frame_f72a667c690fae791d6a8935f26ae3f2);
423 #endif 183 #endif
442 202
443     // Attachs locals to frame if any. 203     // Attachs locals to frame if any.
444     Nuitka_Frame_AttachLocals( 204     Nuitka_Frame_AttachLocals(
445         (struct Nuitka_FrameObject *)frame_f72a667c690fae791d6a8935f26ae3f2, 205         (struct Nuitka_FrameObject *)frame_f72a667c690fae791d6a8935f26ae3f2,
446         type_description_1, 206         type_description_1,
n 447         var_l n 207         NULL
448     ); 208     );
449 209
450 210
451     // Release cached frame. 211     // Release cached frame.
452     if (frame_f72a667c690fae791d6a8935f26ae3f2 == cache_frame_f72a667c690fae791d6a8935f26ae3f2) { 212     if (frame_f72a667c690fae791d6a8935f26ae3f2 == cache_frame_f72a667c690fae791d6a8935f26ae3f2) {
458 218
459     // Put the previous frame back on top. 219     // Put the previous frame back on top.
460     popFrameStack(); 220     popFrameStack();
461 221
462     // Return the error. 222     // Return the error.
n 463     goto try_except_handler_1; n 223     goto function_exception_exit;
464 224
465     frame_no_exception_1:; 225     frame_no_exception_1:;
n 466     CHECK_OBJECT(var_l); n 226     tmp_return_value = const_int_pos_1;
467     tmp_return_value = var_l;
468     Py_INCREF(tmp_return_value); 227     Py_INCREF(tmp_return_value);
n 469     goto try_return_handler_1; n
470     // tried codes exits in all cases
471     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
472     return NULL;
473     // Return handler code:
474     try_return_handler_1:;
475     CHECK_OBJECT((PyObject *)var_l);
476     Py_DECREF(var_l);
477     var_l = NULL;
478  
479     goto function_return_exit; 228     goto function_return_exit;
n 480     // Exception handler code: n
481     try_except_handler_1:;
482     exception_keeper_type_1 = exception_type;
483     exception_keeper_value_1 = exception_value;
484     exception_keeper_tb_1 = exception_tb;
485     exception_keeper_lineno_1 = exception_lineno;
486     exception_type = NULL;
487     exception_value = NULL;
488     exception_tb = NULL;
489     exception_lineno = 0;
490  
491     // Re-raise.
492     exception_type = exception_keeper_type_1;
493     exception_value = exception_keeper_value_1;
494     exception_tb = exception_keeper_tb_1;
495     exception_lineno = exception_keeper_lineno_1;
496  
497     goto function_exception_exit;
498     // End of try:
499 229
500     // Return statement must have exited already. 230     // Return statement must have exited already.
501     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly); 231     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
502     return NULL; 232     return NULL;
503 233
1005 735
1006         if (tmp_mvar_value_2 == NULL) { 736         if (tmp_mvar_value_2 == NULL) {
1007 737
1008             exception_type = PyExc_NameError; 738             exception_type = PyExc_NameError;
1009             Py_INCREF(exception_type); 739             Py_INCREF(exception_type);
t 1010             exception_value = UNSTREAM_STRING(&constant_bin[ 272 ], 38, 0); t 740             exception_value = UNSTREAM_STRING(&constant_bin[ 35 ], 38, 0);
1011             exception_tb = NULL; 741             exception_tb = NULL;
1012             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb); 742             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
1013             CHAIN_EXCEPTION(exception_value); 743             CHAIN_EXCEPTION(exception_value);
1014 744
1015             exception_lineno = 42; 745             exception_lineno = 42;