Construct LoopSmallXrange

Performance Diagrams

Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)9636037388.95192307692307257.0CPython 2.730161860242.31730769230768426.76554253231814Nuitka (master)30161838395.6826923076923426.7655989511373Nuitka (develop)30161866549.0480769230769426.7655271453674Nuitka (factory)Construct LoopSmallXrangeTicks Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000140000000140000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)14574295288.11538461538461257.0CPython 3.589040935240.03846153846155353.14146376987804Nuitka (master)89040496391.96153846153845353.1422081191063Nuitka (develop)89039974543.8846153846154353.14309319950985Nuitka (factory)Construct LoopSmallXrangeTicks

Source Code with Construct

module_value1 = 5
module_value2 = 3

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

    # Make sure we have a local variable x anyway
    x = 2

    local_value = module_value1

# construct_begin
    for x in xrange(local_value, local_value+3):
        pass
# construct_end

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

print("OK.")

Source Code without Construct

module_value1 = 5
module_value2 = 3

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

    # Make sure we have a local variable x anyway
    x = 2

    local_value = module_value1

# construct_begin




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

print("OK.")

Context Diff of Source Code


Construct
Baseline
29     x = 2 29     x = 2
30 30
31     local_value = module_value1 31     local_value = module_value1
32 32
33 # construct_begin 33 # construct_begin
t 34     for x in xrange(local_value, local_value+3): t 34  
35         pass 35  
36 # construct_end 36  
37 37
38 import itertools 38 import itertools
39 for x in itertools.repeat(None, 50000): 39 for x in itertools.repeat(None, 50000):
40     calledRepeatedly() 40     calledRepeatedly()
41 41

Context Diff of Generated Code


Construct
Baseline
33 /* The declarations of module constants used, if any. */ 33 /* The declarations of module constants used, if any. */
34 static PyObject *const_str_plain_itertools; 34 static PyObject *const_str_plain_itertools;
35 extern PyObject *const_str_plain___file__; 35 extern PyObject *const_str_plain___file__;
36 extern PyObject *const_int_0; 36 extern PyObject *const_int_0;
37 extern PyObject *const_str_plain_print; 37 extern PyObject *const_str_plain_print;
n n 38 static PyObject *const_int_pos_50000;
38 static PyObject *const_int_pos_3; 39 static PyObject *const_int_pos_3;
n 39 static PyObject *const_int_pos_50000; n
40 static PyObject *const_str_plain_local_value; 40 static PyObject *const_str_plain_local_value;
41 static PyObject *const_str_plain_module_value2; 41 static PyObject *const_str_plain_module_value2;
n 42 static PyObject *const_str_digest_f379c4fa53465a209b2e06bb87cb852a; n
43 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple; 42 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple;
44 static PyObject *const_str_plain_module_value1; 43 static PyObject *const_str_plain_module_value1;
45 static PyObject *const_str_plain_calledRepeatedly; 44 static PyObject *const_str_plain_calledRepeatedly;
46 static PyObject *const_str_angle_module; 45 static PyObject *const_str_angle_module;
47 static PyObject *const_str_plain_None; 46 static PyObject *const_str_plain_None;
49 extern PyObject *const_tuple_empty; 48 extern PyObject *const_tuple_empty;
50 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352; 49 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352;
51 static PyObject *const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457; 50 static PyObject *const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457;
52 static PyObject *const_int_pos_5; 51 static PyObject *const_int_pos_5;
53 static PyObject *const_str_plain_repeat; 52 static PyObject *const_str_plain_repeat;
n 54 static PyObject *const_int_pos_2; n
55 static PyObject *const_tuple_none_int_pos_50000_tuple; 53 static PyObject *const_tuple_none_int_pos_50000_tuple;
56 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple; 54 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple;
57 extern PyObject *const_str_plain___doc__; 55 extern PyObject *const_str_plain___doc__;
58 extern PyObject *const_str_plain___cached__; 56 extern PyObject *const_str_plain___cached__;
59 static PyObject *module_filename_obj; 57 static PyObject *module_filename_obj;
63 61
64 /* Function to create module private constants. */ 62 /* Function to create module private constants. */
65 static void createModuleConstants( void ) 63 static void createModuleConstants( void )
66 { 64 {
67     const_str_plain_itertools = UNSTREAM_STRING_ASCII(&constant_bin[ 73 ], 9, 1); 65     const_str_plain_itertools = UNSTREAM_STRING_ASCII(&constant_bin[ 73 ], 9, 1);
n n 66     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul);
68     const_int_pos_3 = PyLong_FromUnsignedLong(3ul); 67     const_int_pos_3 = PyLong_FromUnsignedLong(3ul);
n 69     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul); n
70     const_str_plain_local_value = UNSTREAM_STRING_ASCII(&constant_bin[ 82 ], 11, 1); 68     const_str_plain_local_value = UNSTREAM_STRING_ASCII(&constant_bin[ 82 ], 11, 1);
71     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII(&constant_bin[ 93 ], 13, 1); 69     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII(&constant_bin[ 93 ], 13, 1);
n 72     const_str_digest_f379c4fa53465a209b2e06bb87cb852a = UNSTREAM_STRING_ASCII(&constant_bin[ 106 ], 49, 0); n
73     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New(1); 70     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New(1);
n 74     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII(&constant_bin[ 155 ], 3, 0); n 71     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII(&constant_bin[ 106 ], 3, 0);
75     PyTuple_SET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352); 72     PyTuple_SET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352);
76     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII(&constant_bin[ 6 ], 13, 1); 73     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII(&constant_bin[ 6 ], 13, 1);
77     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII(&constant_bin[ 41 ], 16, 1); 74     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII(&constant_bin[ 41 ], 16, 1);
n 78     const_str_angle_module = UNSTREAM_STRING_ASCII(&constant_bin[ 158 ], 8, 0); n 75     const_str_angle_module = UNSTREAM_STRING_ASCII(&constant_bin[ 109 ], 8, 0);
79     const_str_plain_None = UNSTREAM_STRING_ASCII(&constant_bin[ 166 ], 4, 1); 76     const_str_plain_None = UNSTREAM_STRING_ASCII(&constant_bin[ 117 ], 4, 1);
80     const_str_plain_x = UNSTREAM_STRING_ASCII(&constant_bin[ 170 ], 1, 1); 77     const_str_plain_x = UNSTREAM_STRING_ASCII(&constant_bin[ 121 ], 1, 1);
81     const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457 = UNSTREAM_STRING_ASCII(&constant_bin[ 171 ], 40, 0); 78     const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457 = UNSTREAM_STRING_ASCII(&constant_bin[ 122 ], 40, 0);
82     const_int_pos_5 = PyLong_FromUnsignedLong(5ul); 79     const_int_pos_5 = PyLong_FromUnsignedLong(5ul);
n 83     const_str_plain_repeat = UNSTREAM_STRING_ASCII(&constant_bin[ 211 ], 6, 1); n 80     const_str_plain_repeat = UNSTREAM_STRING_ASCII(&constant_bin[ 162 ], 6, 1);
84     const_int_pos_2 = PyLong_FromUnsignedLong(2ul);
85     const_tuple_none_int_pos_50000_tuple = PyTuple_New(2); 81     const_tuple_none_int_pos_50000_tuple = PyTuple_New(2);
86     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 0, Py_None); Py_INCREF(Py_None); 82     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 0, Py_None); Py_INCREF(Py_None);
87     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000); Py_INCREF(const_int_pos_50000); 83     PyTuple_SET_ITEM(const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000); Py_INCREF(const_int_pos_50000);
88     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New(2); 84     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New(2);
89     PyTuple_SET_ITEM(const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x); Py_INCREF(const_str_plain_x); 85     PyTuple_SET_ITEM(const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x); Py_INCREF(const_str_plain_x);
103 } 99 }
104 #endif 100 #endif
105 101
106 // The module code objects. 102 // The module code objects.
107 static PyCodeObject *codeobj_40113bfaf439fd33748298a9acf7c7f5; 103 static PyCodeObject *codeobj_40113bfaf439fd33748298a9acf7c7f5;
n 108 static PyCodeObject *codeobj_27c3be439aa6cfc8d0fbe88e5c38441b; n 104 static PyCodeObject *codeobj_33c96ac4bfb084dad33c0d6a6a26d5f7;
109 /* For use in "MainProgram.c". */ 105 /* For use in "MainProgram.c". */
110 PyCodeObject *codeobj_main = NULL; 106 PyCodeObject *codeobj_main = NULL;
111 107
112 static void createModuleCodeObjects(void) 108 static void createModuleCodeObjects(void)
113 { 109 {
114     module_filename_obj = const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457; 110     module_filename_obj = const_str_digest_213a0c1a5b9f3a37ef4f2270ac9b1457;
115     codeobj_40113bfaf439fd33748298a9acf7c7f5 = MAKE_CODEOBJ(module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE); 111     codeobj_40113bfaf439fd33748298a9acf7c7f5 = MAKE_CODEOBJ(module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE);
n 116     codeobj_27c3be439aa6cfc8d0fbe88e5c38441b = MAKE_CODEOBJ(module_filename_obj, const_str_plain_calledRepeatedly, 25, const_tuple_str_plain_x_str_plain_local_value_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE); n 112     codeobj_33c96ac4bfb084dad33c0d6a6a26d5f7 = MAKE_CODEOBJ(module_filename_obj, const_str_plain_calledRepeatedly, 24, const_tuple_str_plain_x_str_plain_local_value_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE);
117 } 113 }
118 114
119 // The module function declarations. 115 // The module function declarations.
120 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(); 116 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly();
121 117
126 #ifndef __NUITKA_NO_ASSERT__ 122 #ifndef __NUITKA_NO_ASSERT__
127     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); 123     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
128 #endif 124 #endif
129 125
130     // Local variable declarations. 126     // Local variable declarations.
n 131     PyObject *var_x = NULL; n
132     PyObject *var_local_value = NULL; 127     PyObject *var_local_value = NULL;
n 133     PyObject *tmp_for_loop_1__for_iterator = NULL; n 128     struct Nuitka_FrameObject *frame_33c96ac4bfb084dad33c0d6a6a26d5f7;
134     PyObject *tmp_for_loop_1__iter_value = NULL;
135     struct Nuitka_FrameObject *frame_27c3be439aa6cfc8d0fbe88e5c38441b;
136     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 129     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
137     PyObject *exception_type = NULL; 130     PyObject *exception_type = NULL;
138     PyObject *exception_value = NULL; 131     PyObject *exception_value = NULL;
139     PyTracebackObject *exception_tb = NULL; 132     PyTracebackObject *exception_tb = NULL;
140     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 133     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n n 134     static struct Nuitka_FrameObject *cache_frame_33c96ac4bfb084dad33c0d6a6a26d5f7 = NULL;
135     PyObject *tmp_return_value = NULL;
141     PyObject *exception_keeper_type_1; 136     PyObject *exception_keeper_type_1;
142     PyObject *exception_keeper_value_1; 137     PyObject *exception_keeper_value_1;
143     PyTracebackObject *exception_keeper_tb_1; 138     PyTracebackObject *exception_keeper_tb_1;
144     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; 139     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
n 145     static struct Nuitka_FrameObject *cache_frame_27c3be439aa6cfc8d0fbe88e5c38441b = NULL; n
146     PyObject *tmp_return_value = NULL;
147     PyObject *exception_keeper_type_2;
148     PyObject *exception_keeper_value_2;
149     PyTracebackObject *exception_keeper_tb_2;
150     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
151 140
152     // Actual function body. 141     // Actual function body.
153     // Tried code: 142     // Tried code:
n 154     MAKE_OR_REUSE_FRAME(cache_frame_27c3be439aa6cfc8d0fbe88e5c38441b, codeobj_27c3be439aa6cfc8d0fbe88e5c38441b, module___main__, sizeof(void *)+sizeof(void *)); n 143     MAKE_OR_REUSE_FRAME(cache_frame_33c96ac4bfb084dad33c0d6a6a26d5f7, codeobj_33c96ac4bfb084dad33c0d6a6a26d5f7, module___main__, sizeof(void *)+sizeof(void *));
155     frame_27c3be439aa6cfc8d0fbe88e5c38441b = cache_frame_27c3be439aa6cfc8d0fbe88e5c38441b; 144     frame_33c96ac4bfb084dad33c0d6a6a26d5f7 = cache_frame_33c96ac4bfb084dad33c0d6a6a26d5f7;
156 145
157     // Push the new frame as the currently active one. 146     // Push the new frame as the currently active one.
n 158     pushFrameStack(frame_27c3be439aa6cfc8d0fbe88e5c38441b); n 147     pushFrameStack(frame_33c96ac4bfb084dad33c0d6a6a26d5f7);
159 148
160     // Mark the frame object as in use, ref count 1 will be up for reuse. 149     // Mark the frame object as in use, ref count 1 will be up for reuse.
n 161     assert(Py_REFCNT(frame_27c3be439aa6cfc8d0fbe88e5c38441b) == 2); // Frame stack n 150     assert(Py_REFCNT(frame_33c96ac4bfb084dad33c0d6a6a26d5f7) == 2); // Frame stack
162 151
163     // Framed code: 152     // Framed code:
164     { 153     {
165         PyObject *tmp_mvar_value_1; 154         PyObject *tmp_mvar_value_1;
166         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1); 155         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1);
176             exception_value = UNSTREAM_STRING(&constant_bin[ 0 ], 35, 0); 165             exception_value = UNSTREAM_STRING(&constant_bin[ 0 ], 35, 0);
177             exception_tb = NULL; 166             exception_tb = NULL;
178             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb); 167             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
179             CHAIN_EXCEPTION(exception_value); 168             CHAIN_EXCEPTION(exception_value);
180 169
n 181             exception_lineno = 27; n 170             exception_lineno = 26;
182             type_description_1 = "oo"; 171             type_description_1 = "No";
183             goto frame_exception_exit_1; 172             goto frame_exception_exit_1;
184         } 173         }
185 174
186     } 175     }
187     { 176     {
188         PyObject *tmp_assign_source_1; 177         PyObject *tmp_assign_source_1;
n 189         tmp_assign_source_1 = const_int_pos_2; n
190         assert(var_x == NULL);
191         Py_INCREF(tmp_assign_source_1);
192         var_x = tmp_assign_source_1;
193     }
194     {
195         PyObject *tmp_assign_source_2;
196         PyObject *tmp_mvar_value_2; 178         PyObject *tmp_mvar_value_2;
197         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1); 179         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1);
198 180
199         if (unlikely(tmp_mvar_value_2 == NULL)) { 181         if (unlikely(tmp_mvar_value_2 == NULL)) {
200             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1); 182             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1);
207             exception_value = UNSTREAM_STRING(&constant_bin[ 0 ], 35, 0); 189             exception_value = UNSTREAM_STRING(&constant_bin[ 0 ], 35, 0);
208             exception_tb = NULL; 190             exception_tb = NULL;
209             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb); 191             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
210             CHAIN_EXCEPTION(exception_value); 192             CHAIN_EXCEPTION(exception_value);
211 193
n 212             exception_lineno = 32; n 194             exception_lineno = 31;
213             type_description_1 = "oo"; 195             type_description_1 = "No";
214             goto frame_exception_exit_1; 196             goto frame_exception_exit_1;
215         } 197         }
216 198
n 217         tmp_assign_source_2 = tmp_mvar_value_2; n 199         tmp_assign_source_1 = tmp_mvar_value_2;
218         assert(var_local_value == NULL); 200         assert(var_local_value == NULL);
n 219         Py_INCREF(tmp_assign_source_2); n 201         Py_INCREF(tmp_assign_source_1);
220         var_local_value = tmp_assign_source_2; 202         var_local_value = tmp_assign_source_1;
221     }
222     { 203     }
223         PyObject *tmp_assign_source_3;
224         PyObject *tmp_iter_arg_1;
225         PyObject *tmp_xrange_low_1;
226         PyObject *tmp_xrange_high_1;
227         PyObject *tmp_left_name_1;
228         PyObject *tmp_right_name_1;
229         CHECK_OBJECT(var_local_value);
230         tmp_xrange_low_1 = var_local_value;
231         CHECK_OBJECT(var_local_value);
232         tmp_left_name_1 = var_local_value;
233         tmp_right_name_1 = const_int_pos_3;
234         tmp_xrange_high_1 = BINARY_OPERATION_ADD_OBJECT_LONG(tmp_left_name_1, tmp_right_name_1);
235         if (tmp_xrange_high_1 == NULL) {
236             assert(ERROR_OCCURRED());
237 204
n 238             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); n 205 #if 0
206     RESTORE_FRAME_EXCEPTION(frame_33c96ac4bfb084dad33c0d6a6a26d5f7);
207 #endif
239 208
n n 209     // Put the previous frame back on top.
210     popFrameStack();
240 211
n 241             exception_lineno = 35; n 212     goto frame_no_exception_1;
242             type_description_1 = "oo"; 213  
243             goto frame_exception_exit_1; 214     frame_exception_exit_1:;
244         }
245         tmp_iter_arg_1 = BUILTIN_XRANGE2(tmp_xrange_low_1, tmp_xrange_high_1);
246         Py_DECREF(tmp_xrange_high_1);
247         if (tmp_iter_arg_1 == NULL) {
248             assert(ERROR_OCCURRED());
249 215
n 250             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); n 216 #if 0
217     RESTORE_FRAME_EXCEPTION(frame_33c96ac4bfb084dad33c0d6a6a26d5f7);
218 #endif
251 219
n 252   n 220     if (exception_tb == NULL) {
253             exception_lineno = 35; 221         exception_tb = MAKE_TRACEBACK(frame_33c96ac4bfb084dad33c0d6a6a26d5f7, exception_lineno);
254             type_description_1 = "oo";
255             goto frame_exception_exit_1;
256         }
257         tmp_assign_source_3 = MAKE_ITERATOR(tmp_iter_arg_1);
258         Py_DECREF(tmp_iter_arg_1);
259         if (tmp_assign_source_3 == NULL) {
260             assert(ERROR_OCCURRED());
261  
262             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
263  
264  
265             exception_lineno = 35;
266             type_description_1 = "oo";
267             goto frame_exception_exit_1;
268         }
269         assert(tmp_for_loop_1__for_iterator == NULL);
270         tmp_for_loop_1__for_iterator = tmp_assign_source_3;
271     }
272     // Tried code:
273     loop_start_1:;
274     { 222     }
275         PyObject *tmp_next_source_1; 223     else if (exception_tb->tb_frame != &frame_33c96ac4bfb084dad33c0d6a6a26d5f7->m_frame) {
276         PyObject *tmp_assign_source_4; 224         exception_tb = ADD_TRACEBACK(exception_tb, frame_33c96ac4bfb084dad33c0d6a6a26d5f7, exception_lineno);
277         CHECK_OBJECT(tmp_for_loop_1__for_iterator);
278         tmp_next_source_1 = tmp_for_loop_1__for_iterator;
279         tmp_assign_source_4 = ITERATOR_NEXT(tmp_next_source_1);
280         if (tmp_assign_source_4 == NULL) {
281             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) {
282  
283                 goto loop_end_1;
284             } else {
285  
286                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
287                 type_description_1 = "oo";
288                 exception_lineno = 35;
289                 goto try_except_handler_2;
290             }
291         }
292  
293         {
294             PyObject *old = tmp_for_loop_1__iter_value;
295             tmp_for_loop_1__iter_value = tmp_assign_source_4;
296             Py_XDECREF(old);
297         }
298  
299     }
300     { 225     }
301         PyObject *tmp_assign_source_5;
302         CHECK_OBJECT(tmp_for_loop_1__iter_value);
303         tmp_assign_source_5 = tmp_for_loop_1__iter_value;
304         {
305             PyObject *old = var_x;
306             assert(old != NULL);
307             var_x = tmp_assign_source_5;
308             Py_INCREF(var_x);
309             Py_DECREF(old);
310         }
311 226
n 312     } n 227     // Attachs locals to frame if any.
313     if (CONSIDER_THREADING() == false) { 228     Nuitka_Frame_AttachLocals(
314         assert(ERROR_OCCURRED()); 229         (struct Nuitka_FrameObject *)frame_33c96ac4bfb084dad33c0d6a6a26d5f7,
315  
316         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
317  
318  
319         exception_lineno = 35;
320         type_description_1 = "oo"; 230         type_description_1,
231         NULL,
232         var_local_value
233     );
234  
235  
236     // Release cached frame.
237     if (frame_33c96ac4bfb084dad33c0d6a6a26d5f7 == cache_frame_33c96ac4bfb084dad33c0d6a6a26d5f7) {
238         Py_DECREF(frame_33c96ac4bfb084dad33c0d6a6a26d5f7);
239     }
240     cache_frame_33c96ac4bfb084dad33c0d6a6a26d5f7 = NULL;
241  
242     assertFrameObject(frame_33c96ac4bfb084dad33c0d6a6a26d5f7);
243  
244     // Put the previous frame back on top.
245     popFrameStack();
246  
247     // Return the error.
321         goto try_except_handler_2; 248     goto try_except_handler_1;
322     } 249  
323     goto loop_start_1; 250     frame_no_exception_1:;
324     loop_end_1:; 251     tmp_return_value = Py_None;
252     Py_INCREF(tmp_return_value);
325     goto try_end_1; 253     goto try_return_handler_1;
254     // tried codes exits in all cases
255     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
256     return NULL;
257     // Return handler code:
258     try_return_handler_1:;
259     CHECK_OBJECT((PyObject *)var_local_value);
260     Py_DECREF(var_local_value);
261     var_local_value = NULL;
262  
263     goto function_return_exit;
326     // Exception handler code: 264     // Exception handler code:
n 327     try_except_handler_2:; n 265     try_except_handler_1:;
328     exception_keeper_type_1 = exception_type; 266     exception_keeper_type_1 = exception_type;
329     exception_keeper_value_1 = exception_value; 267     exception_keeper_value_1 = exception_value;
330     exception_keeper_tb_1 = exception_tb; 268     exception_keeper_tb_1 = exception_tb;
331     exception_keeper_lineno_1 = exception_lineno; 269     exception_keeper_lineno_1 = exception_lineno;
332     exception_type = NULL; 270     exception_type = NULL;
333     exception_value = NULL; 271     exception_value = NULL;
334     exception_tb = NULL; 272     exception_tb = NULL;
335     exception_lineno = 0; 273     exception_lineno = 0;
336 274
n 337     Py_XDECREF(tmp_for_loop_1__iter_value); n
338     tmp_for_loop_1__iter_value = NULL;
339  
340     CHECK_OBJECT((PyObject *)tmp_for_loop_1__for_iterator);
341     Py_DECREF(tmp_for_loop_1__for_iterator);
342     tmp_for_loop_1__for_iterator = NULL;
343  
344     // Re-raise. 275     // Re-raise.
345     exception_type = exception_keeper_type_1; 276     exception_type = exception_keeper_type_1;
346     exception_value = exception_keeper_value_1; 277     exception_value = exception_keeper_value_1;
347     exception_tb = exception_keeper_tb_1; 278     exception_tb = exception_keeper_tb_1;
348     exception_lineno = exception_keeper_lineno_1; 279     exception_lineno = exception_keeper_lineno_1;
n 349   n
350     goto frame_exception_exit_1;
351     // End of try:
352     try_end_1:;
353  
354 #if 0
355     RESTORE_FRAME_EXCEPTION(frame_27c3be439aa6cfc8d0fbe88e5c38441b);
356 #endif
357  
358     // Put the previous frame back on top.
359     popFrameStack();
360  
361     goto frame_no_exception_1;
362  
363     frame_exception_exit_1:;
364  
365 #if 0
366     RESTORE_FRAME_EXCEPTION(frame_27c3be439aa6cfc8d0fbe88e5c38441b);
367 #endif
368  
369     if (exception_tb == NULL) {
370         exception_tb = MAKE_TRACEBACK(frame_27c3be439aa6cfc8d0fbe88e5c38441b, exception_lineno);
371     }
372     else if (exception_tb->tb_frame != &frame_27c3be439aa6cfc8d0fbe88e5c38441b->m_frame) {
373         exception_tb = ADD_TRACEBACK(exception_tb, frame_27c3be439aa6cfc8d0fbe88e5c38441b, exception_lineno);
374     }
375  
376     // Attachs locals to frame if any.
377     Nuitka_Frame_AttachLocals(
378         (struct Nuitka_FrameObject *)frame_27c3be439aa6cfc8d0fbe88e5c38441b,
379         type_description_1,
380         var_x,
381         var_local_value
382     );
383  
384  
385     // Release cached frame.
386     if (frame_27c3be439aa6cfc8d0fbe88e5c38441b == cache_frame_27c3be439aa6cfc8d0fbe88e5c38441b) {
387         Py_DECREF(frame_27c3be439aa6cfc8d0fbe88e5c38441b);
388     }
389     cache_frame_27c3be439aa6cfc8d0fbe88e5c38441b = NULL;
390  
391     assertFrameObject(frame_27c3be439aa6cfc8d0fbe88e5c38441b);
392  
393     // Put the previous frame back on top.
394     popFrameStack();
395  
396     // Return the error.
397     goto try_except_handler_1;
398  
399     frame_no_exception_1:;
400     Py_XDECREF(tmp_for_loop_1__iter_value);
401     tmp_for_loop_1__iter_value = NULL;
402  
403     CHECK_OBJECT((PyObject *)tmp_for_loop_1__for_iterator);
404     Py_DECREF(tmp_for_loop_1__for_iterator);
405     tmp_for_loop_1__for_iterator = NULL;
406  
407     tmp_return_value = Py_None;
408     Py_INCREF(tmp_return_value);
409     goto try_return_handler_1;
410     // tried codes exits in all cases
411     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
412     return NULL;
413     // Return handler code:
414     try_return_handler_1:;
415     CHECK_OBJECT((PyObject *)var_x);
416     Py_DECREF(var_x);
417     var_x = NULL;
418  
419     CHECK_OBJECT((PyObject *)var_local_value);
420     Py_DECREF(var_local_value);
421     var_local_value = NULL;
422  
423     goto function_return_exit;
424     // Exception handler code:
425     try_except_handler_1:;
426     exception_keeper_type_2 = exception_type;
427     exception_keeper_value_2 = exception_value;
428     exception_keeper_tb_2 = exception_tb;
429     exception_keeper_lineno_2 = exception_lineno;
430     exception_type = NULL;
431     exception_value = NULL;
432     exception_tb = NULL;
433     exception_lineno = 0;
434  
435     Py_XDECREF(var_x);
436     var_x = NULL;
437  
438     Py_XDECREF(var_local_value);
439     var_local_value = NULL;
440  
441     // Re-raise.
442     exception_type = exception_keeper_type_2;
443     exception_value = exception_keeper_value_2;
444     exception_tb = exception_keeper_tb_2;
445     exception_lineno = exception_keeper_lineno_2;
446 280
447     goto function_exception_exit; 281     goto function_exception_exit;
448     // End of try: 282     // End of try:
449 283
450     // Return statement must have exited already. 284     // Return statement must have exited already.
475         impl___main__$$$function_1_calledRepeatedly, 309         impl___main__$$$function_1_calledRepeatedly,
476         const_str_plain_calledRepeatedly, 310         const_str_plain_calledRepeatedly,
477 #if PYTHON_VERSION >= 300 311 #if PYTHON_VERSION >= 300
478         NULL, 312         NULL,
479 #endif 313 #endif
n 480         codeobj_27c3be439aa6cfc8d0fbe88e5c38441b, n 314         codeobj_33c96ac4bfb084dad33c0d6a6a26d5f7,
481         NULL, 315         NULL,
482 #if PYTHON_VERSION >= 300 316 #if PYTHON_VERSION >= 300
483         NULL, 317         NULL,
484         NULL, 318         NULL,
485 #endif 319 #endif
795         tmp_assign_source_3 = Py_None; 629         tmp_assign_source_3 = Py_None;
796         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_3); 630         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_3);
797     } 631     }
798     { 632     {
799         PyObject *tmp_assign_source_4; 633         PyObject *tmp_assign_source_4;
n 800         tmp_assign_source_4 = const_str_digest_f379c4fa53465a209b2e06bb87cb852a; n 634         tmp_assign_source_4 = const_int_pos_5;
801         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___file__, tmp_assign_source_4); 635         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_4);
802     } 636     }
803     { 637     {
804         PyObject *tmp_assign_source_5; 638         PyObject *tmp_assign_source_5;
n 805         tmp_assign_source_5 = const_int_pos_5; n 639         tmp_assign_source_5 = const_int_pos_3;
806         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_5); 640         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_5);
807     } 641     }
808     { 642     {
809         PyObject *tmp_assign_source_6; 643         PyObject *tmp_assign_source_6;
n 810         tmp_assign_source_6 = const_int_pos_3; n 644         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly();
645  
646  
647  
811         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_6); 648         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_6);
812     } 649     }
813     { 650     {
814         PyObject *tmp_assign_source_7; 651         PyObject *tmp_assign_source_7;
n 815         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(); n
816  
817  
818  
819         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_7);
820     }
821     {
822         PyObject *tmp_assign_source_8;
823         PyObject *tmp_name_name_1; 652         PyObject *tmp_name_name_1;
824         PyObject *tmp_globals_name_1; 653         PyObject *tmp_globals_name_1;
825         PyObject *tmp_locals_name_1; 654         PyObject *tmp_locals_name_1;
826         PyObject *tmp_fromlist_name_1; 655         PyObject *tmp_fromlist_name_1;
827         PyObject *tmp_level_name_1; 656         PyObject *tmp_level_name_1;
828         tmp_name_name_1 = const_str_plain_itertools; 657         tmp_name_name_1 = const_str_plain_itertools;
829         tmp_globals_name_1 = (PyObject *)moduledict___main__; 658         tmp_globals_name_1 = (PyObject *)moduledict___main__;
830         tmp_locals_name_1 = Py_None; 659         tmp_locals_name_1 = Py_None;
831         tmp_fromlist_name_1 = Py_None; 660         tmp_fromlist_name_1 = Py_None;
832         tmp_level_name_1 = const_int_0; 661         tmp_level_name_1 = const_int_0;
n 833         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1); n 662         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);
834         assert(!(tmp_assign_source_8 == NULL)); 663         assert(!(tmp_assign_source_7 == NULL));
835         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_8); 664         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_7);
836     } 665     }
837     // Frame without reuse. 666     // Frame without reuse.
838     frame_40113bfaf439fd33748298a9acf7c7f5 = MAKE_MODULE_FRAME(codeobj_40113bfaf439fd33748298a9acf7c7f5, module___main__); 667     frame_40113bfaf439fd33748298a9acf7c7f5 = MAKE_MODULE_FRAME(codeobj_40113bfaf439fd33748298a9acf7c7f5, module___main__);
839 668
840     // Push the new frame as the currently active one, and we should be exclusively 669     // Push the new frame as the currently active one, and we should be exclusively
842     pushFrameStack(frame_40113bfaf439fd33748298a9acf7c7f5); 671     pushFrameStack(frame_40113bfaf439fd33748298a9acf7c7f5);
843     assert(Py_REFCNT(frame_40113bfaf439fd33748298a9acf7c7f5) == 2); 672     assert(Py_REFCNT(frame_40113bfaf439fd33748298a9acf7c7f5) == 2);
844 673
845     // Framed code: 674     // Framed code:
846     { 675     {
n 847         PyObject *tmp_assign_source_9; n 676         PyObject *tmp_assign_source_8;
848         PyObject *tmp_iter_arg_1; 677         PyObject *tmp_iter_arg_1;
849         PyObject *tmp_called_instance_1; 678         PyObject *tmp_called_instance_1;
850         PyObject *tmp_mvar_value_1; 679         PyObject *tmp_mvar_value_1;
851         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools); 680         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools);
852 681
854             tmp_mvar_value_1 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_itertools); 683             tmp_mvar_value_1 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_itertools);
855         } 684         }
856 685
857         CHECK_OBJECT(tmp_mvar_value_1); 686         CHECK_OBJECT(tmp_mvar_value_1);
858         tmp_called_instance_1 = tmp_mvar_value_1; 687         tmp_called_instance_1 = tmp_mvar_value_1;
n 859         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 40; n 688         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 39;
860         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(tmp_called_instance_1, const_str_plain_repeat, &PyTuple_GET_ITEM(const_tuple_none_int_pos_50000_tuple, 0)); 689         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(tmp_called_instance_1, const_str_plain_repeat, &PyTuple_GET_ITEM(const_tuple_none_int_pos_50000_tuple, 0));
861 690
862         if (tmp_iter_arg_1 == NULL) { 691         if (tmp_iter_arg_1 == NULL) {
863             assert(ERROR_OCCURRED()); 692             assert(ERROR_OCCURRED());
864 693
865             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 694             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
866 695
867 696
n 868             exception_lineno = 40; n 697             exception_lineno = 39;
869 698
870             goto frame_exception_exit_1; 699             goto frame_exception_exit_1;
871         } 700         }
n 872         tmp_assign_source_9 = MAKE_ITERATOR(tmp_iter_arg_1); n 701         tmp_assign_source_8 = MAKE_ITERATOR(tmp_iter_arg_1);
873         Py_DECREF(tmp_iter_arg_1); 702         Py_DECREF(tmp_iter_arg_1);
n 874         if (tmp_assign_source_9 == NULL) { n 703         if (tmp_assign_source_8 == NULL) {
875             assert(ERROR_OCCURRED()); 704             assert(ERROR_OCCURRED());
876 705
877             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 706             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
878 707
879 708
n 880             exception_lineno = 40; n 709             exception_lineno = 39;
881 710
882             goto frame_exception_exit_1; 711             goto frame_exception_exit_1;
883         } 712         }
884         assert(tmp_for_loop_1__for_iterator == NULL); 713         assert(tmp_for_loop_1__for_iterator == NULL);
n 885         tmp_for_loop_1__for_iterator = tmp_assign_source_9; n 714         tmp_for_loop_1__for_iterator = tmp_assign_source_8;
886     } 715     }
887     // Tried code: 716     // Tried code:
888     loop_start_1:; 717     loop_start_1:;
889     { 718     {
890         PyObject *tmp_next_source_1; 719         PyObject *tmp_next_source_1;
n 891         PyObject *tmp_assign_source_10; n 720         PyObject *tmp_assign_source_9;
892         CHECK_OBJECT(tmp_for_loop_1__for_iterator); 721         CHECK_OBJECT(tmp_for_loop_1__for_iterator);
893         tmp_next_source_1 = tmp_for_loop_1__for_iterator; 722         tmp_next_source_1 = tmp_for_loop_1__for_iterator;
n 894         tmp_assign_source_10 = ITERATOR_NEXT(tmp_next_source_1); n 723         tmp_assign_source_9 = ITERATOR_NEXT(tmp_next_source_1);
895         if (tmp_assign_source_10 == NULL) { 724         if (tmp_assign_source_9 == NULL) {
896             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) { 725             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) {
897 726
898                 goto loop_end_1; 727                 goto loop_end_1;
899             } else { 728             } else {
900 729
901                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 730                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
902 731
n 903                 exception_lineno = 40; n 732                 exception_lineno = 39;
904                 goto try_except_handler_1; 733                 goto try_except_handler_1;
905             } 734             }
906         } 735         }
907 736
908         { 737         {
909             PyObject *old = tmp_for_loop_1__iter_value; 738             PyObject *old = tmp_for_loop_1__iter_value;
n 910             tmp_for_loop_1__iter_value = tmp_assign_source_10; n 739             tmp_for_loop_1__iter_value = tmp_assign_source_9;
911             Py_XDECREF(old); 740             Py_XDECREF(old);
912         } 741         }
913 742
914     } 743     }
915     { 744     {
n 916         PyObject *tmp_assign_source_11; n 745         PyObject *tmp_assign_source_10;
917         CHECK_OBJECT(tmp_for_loop_1__iter_value); 746         CHECK_OBJECT(tmp_for_loop_1__iter_value);
n 918         tmp_assign_source_11 = tmp_for_loop_1__iter_value; n 747         tmp_assign_source_10 = tmp_for_loop_1__iter_value;
919         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_11); 748         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_10);
920     } 749     }
921     { 750     {
922         PyObject *tmp_called_name_1; 751         PyObject *tmp_called_name_1;
923         PyObject *tmp_mvar_value_2; 752         PyObject *tmp_mvar_value_2;
924         PyObject *tmp_call_result_1; 753         PyObject *tmp_call_result_1;
935             exception_value = UNSTREAM_STRING(&constant_bin[ 35 ], 38, 0); 764             exception_value = UNSTREAM_STRING(&constant_bin[ 35 ], 38, 0);
936             exception_tb = NULL; 765             exception_tb = NULL;
937             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb); 766             NORMALIZE_EXCEPTION(&exception_type, &exception_value, &exception_tb);
938             CHAIN_EXCEPTION(exception_value); 767             CHAIN_EXCEPTION(exception_value);
939 768
n 940             exception_lineno = 41; n 769             exception_lineno = 40;
941 770
942             goto try_except_handler_1; 771             goto try_except_handler_1;
943         } 772         }
944 773
945         tmp_called_name_1 = tmp_mvar_value_2; 774         tmp_called_name_1 = tmp_mvar_value_2;
n 946         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 41; n 775         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 40;
947         tmp_call_result_1 = CALL_FUNCTION_NO_ARGS(tmp_called_name_1); 776         tmp_call_result_1 = CALL_FUNCTION_NO_ARGS(tmp_called_name_1);
948         if (tmp_call_result_1 == NULL) { 777         if (tmp_call_result_1 == NULL) {
949             assert(ERROR_OCCURRED()); 778             assert(ERROR_OCCURRED());
950 779
951             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 780             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
952 781
953 782
n 954             exception_lineno = 41; n 783             exception_lineno = 40;
955 784
956             goto try_except_handler_1; 785             goto try_except_handler_1;
957         } 786         }
958         Py_DECREF(tmp_call_result_1); 787         Py_DECREF(tmp_call_result_1);
959     } 788     }
961         assert(ERROR_OCCURRED()); 790         assert(ERROR_OCCURRED());
962 791
963         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 792         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
964 793
965 794
n 966         exception_lineno = 40; n 795         exception_lineno = 39;
967 796
968         goto try_except_handler_1; 797         goto try_except_handler_1;
969     } 798     }
970     goto loop_start_1; 799     goto loop_start_1;
971     loop_end_1:; 800     loop_end_1:;
1007     { 836     {
1008         PyObject *tmp_called_name_2; 837         PyObject *tmp_called_name_2;
1009         PyObject *tmp_call_result_2; 838         PyObject *tmp_call_result_2;
1010         tmp_called_name_2 = LOOKUP_BUILTIN(const_str_plain_print); 839         tmp_called_name_2 = LOOKUP_BUILTIN(const_str_plain_print);
1011         assert(tmp_called_name_2 != NULL); 840         assert(tmp_called_name_2 != NULL);
n 1012         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 43; n 841         frame_40113bfaf439fd33748298a9acf7c7f5->m_frame.f_lineno = 42;
1013         tmp_call_result_2 = CALL_FUNCTION_WITH_ARGS1(tmp_called_name_2, &PyTuple_GET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0)); 842         tmp_call_result_2 = CALL_FUNCTION_WITH_ARGS1(tmp_called_name_2, &PyTuple_GET_ITEM(const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0));
1014 843
1015         if (tmp_call_result_2 == NULL) { 844         if (tmp_call_result_2 == NULL) {
1016             assert(ERROR_OCCURRED()); 845             assert(ERROR_OCCURRED());
1017 846
1018             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 847             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1019 848
1020 849
t 1021             exception_lineno = 43; t 850             exception_lineno = 42;
1022 851
1023             goto frame_exception_exit_1; 852             goto frame_exception_exit_1;
1024         } 853         }
1025         Py_DECREF(tmp_call_result_2); 854         Py_DECREF(tmp_call_result_2);
1026     } 855     }