Construct LoopSmallXrange

Performance Diagrams

Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)10663280488.11538461538461257.0CPython 2.730530708240.03846153846155433.3622264221517Nuitka (master)30530743391.96153846153845433.3621453116666Nuitka (develop)30531008543.8846153846154433.3615311894222Nuitka (factory)Construct LoopSmallXrangeTicks Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)13898694288.11538461538461257.00000000000006CPython 3.588648942240.03846153846155346.49973322507685Nuitka (master)88647753391.96153846153845346.50184723800555Nuitka (develop)88647586543.8846153846154346.5021441599224Nuitka (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
32 32
33 /* The module constants used, if any. */ 33 /* The module constants used, if any. */
34 static PyObject *const_str_plain_itertools; 34 static PyObject *const_str_plain_itertools;
35 static PyObject *const_str_plain___package__; 35 static PyObject *const_str_plain___package__;
36 static PyObject *const_str_plain___spec__; 36 static PyObject *const_str_plain___spec__;
n 37 static PyObject *const_str_digest_22a193c3d7cc078fc07311e7fe59155b; n
38 extern PyObject *const_dict_empty; 37 extern PyObject *const_dict_empty;
39 extern PyObject *const_str_plain___file__; 38 extern PyObject *const_str_plain___file__;
40 extern PyObject *const_int_0; 39 extern PyObject *const_int_0;
41 extern PyObject *const_str_plain_print; 40 extern PyObject *const_str_plain_print;
42 static PyObject *const_int_pos_3; 41 static PyObject *const_int_pos_3;
51 static PyObject *const_str_plain_x; 50 static PyObject *const_str_plain_x;
52 extern PyObject *const_tuple_empty; 51 extern PyObject *const_tuple_empty;
53 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352; 52 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352;
54 static PyObject *const_int_pos_5; 53 static PyObject *const_int_pos_5;
55 static PyObject *const_str_plain_repeat; 54 static PyObject *const_str_plain_repeat;
n 56 static PyObject *const_int_pos_2; n
57 static PyObject *const_tuple_none_int_pos_50000_tuple; 55 static PyObject *const_tuple_none_int_pos_50000_tuple;
58 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple; 56 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple;
59 extern PyObject *const_str_plain___loader__; 57 extern PyObject *const_str_plain___loader__;
60 extern PyObject *const_str_plain___main__; 58 extern PyObject *const_str_plain___main__;
61 extern PyObject *const_str_plain___doc__; 59 extern PyObject *const_str_plain___doc__;
67 static void createModuleConstants( void ) 65 static void createModuleConstants( void )
68 { 66 {
69     const_str_plain_itertools = UNSTREAM_STRING( &constant_bin[ 0 ], 9, 1 ); 67     const_str_plain_itertools = UNSTREAM_STRING( &constant_bin[ 0 ], 9, 1 );
70     const_str_plain___package__ = UNSTREAM_STRING( &constant_bin[ 9 ], 11, 1 ); 68     const_str_plain___package__ = UNSTREAM_STRING( &constant_bin[ 9 ], 11, 1 );
71     const_str_plain___spec__ = UNSTREAM_STRING( &constant_bin[ 20 ], 8, 1 ); 69     const_str_plain___spec__ = UNSTREAM_STRING( &constant_bin[ 20 ], 8, 1 );
n 72     const_str_digest_22a193c3d7cc078fc07311e7fe59155b = UNSTREAM_STRING( &constant_bin[ 28 ], 56, 0 ); n
73     const_int_pos_3 = PyLong_FromUnsignedLong( 3ul ); 70     const_int_pos_3 = PyLong_FromUnsignedLong( 3ul );
74     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul ); 71     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul );
n 75     const_str_plain_local_value = UNSTREAM_STRING( &constant_bin[ 84 ], 11, 1 ); n 72     const_str_plain_local_value = UNSTREAM_STRING( &constant_bin[ 28 ], 11, 1 );
76     const_str_plain_module_value2 = UNSTREAM_STRING( &constant_bin[ 95 ], 13, 1 ); 73     const_str_plain_module_value2 = UNSTREAM_STRING( &constant_bin[ 39 ], 13, 1 );
77     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 ); 74     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 );
n 78     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING( &constant_bin[ 108 ], 3, 0 ); n 75     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING( &constant_bin[ 52 ], 3, 0 );
79     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 ); 76     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 );
n 80     const_str_plain_module_value1 = UNSTREAM_STRING( &constant_bin[ 111 ], 13, 1 ); n 77     const_str_plain_module_value1 = UNSTREAM_STRING( &constant_bin[ 55 ], 13, 1 );
81     const_str_digest_f9ea8ec4d27962049c828fd982aa21a5 = UNSTREAM_STRING( &constant_bin[ 124 ], 73, 0 ); 78     const_str_digest_f9ea8ec4d27962049c828fd982aa21a5 = UNSTREAM_STRING( &constant_bin[ 68 ], 73, 0 );
82     const_str_plain_calledRepeatedly = UNSTREAM_STRING( &constant_bin[ 197 ], 16, 1 ); 79     const_str_plain_calledRepeatedly = UNSTREAM_STRING( &constant_bin[ 141 ], 16, 1 );
83     const_str_angle_module = UNSTREAM_STRING( &constant_bin[ 213 ], 8, 0 ); 80     const_str_angle_module = UNSTREAM_STRING( &constant_bin[ 157 ], 8, 0 );
84     const_str_plain_x = UNSTREAM_STRING( &constant_bin[ 149 ], 1, 1 ); 81     const_str_plain_x = UNSTREAM_STRING( &constant_bin[ 93 ], 1, 1 );
85     const_int_pos_5 = PyLong_FromUnsignedLong( 5ul ); 82     const_int_pos_5 = PyLong_FromUnsignedLong( 5ul );
n 86     const_str_plain_repeat = UNSTREAM_STRING( &constant_bin[ 221 ], 6, 1 ); n 83     const_str_plain_repeat = UNSTREAM_STRING( &constant_bin[ 165 ], 6, 1 );
87     const_int_pos_2 = PyLong_FromUnsignedLong( 2ul );
88     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 ); 84     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 );
89     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None ); 85     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None );
90     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 ); 86     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 );
91     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New( 2 ); 87     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New( 2 );
92     PyTuple_SET_ITEM( const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x ); Py_INCREF( const_str_plain_x ); 88     PyTuple_SET_ITEM( const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x ); Py_INCREF( const_str_plain_x );
105 } 101 }
106 #endif 102 #endif
107 103
108 // The module code objects. 104 // The module code objects.
109 static PyCodeObject *codeobj_01cd3b346727cf17dfd127a3c4833fdc; 105 static PyCodeObject *codeobj_01cd3b346727cf17dfd127a3c4833fdc;
n 110 static PyCodeObject *codeobj_13d86ae9461909e3eb7dd95231999faf; n 106 static PyCodeObject *codeobj_0ebaf1baa2e5283f8c303161b5f34791;
111 /* For use in "MainProgram.c". */ 107 /* For use in "MainProgram.c". */
112 PyCodeObject *codeobj_main = NULL; 108 PyCodeObject *codeobj_main = NULL;
113 109
114 static void createModuleCodeObjects(void) 110 static void createModuleCodeObjects(void)
115 { 111 {
116     module_filename_obj = const_str_digest_f9ea8ec4d27962049c828fd982aa21a5; 112     module_filename_obj = const_str_digest_f9ea8ec4d27962049c828fd982aa21a5;
117     codeobj_01cd3b346727cf17dfd127a3c4833fdc = MAKE_CODEOBJ( module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE ); 113     codeobj_01cd3b346727cf17dfd127a3c4833fdc = MAKE_CODEOBJ( module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE );
118     codeobj_main = codeobj_01cd3b346727cf17dfd127a3c4833fdc; 114     codeobj_main = codeobj_01cd3b346727cf17dfd127a3c4833fdc;
n 119     codeobj_13d86ae9461909e3eb7dd95231999faf = 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 115     codeobj_0ebaf1baa2e5283f8c303161b5f34791 = 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 );
120 } 116 }
121 117
122 // The module function declarations. 118 // The module function declarations.
123 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  ); 119 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  );
124 120
130 #ifndef __NUITKA_NO_ASSERT__ 126 #ifndef __NUITKA_NO_ASSERT__
131     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); 127     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
132 #endif 128 #endif
133 129
134     // Local variable declarations. 130     // Local variable declarations.
n 135     PyObject *var_x = NULL; n
136     PyObject *var_local_value = NULL; 131     PyObject *var_local_value = NULL;
n 137     PyObject *tmp_for_loop_1__for_iterator = NULL; n
138     PyObject *tmp_for_loop_1__iter_value = NULL;
139     PyObject *exception_type = NULL; 132     PyObject *exception_type = NULL;
140     PyObject *exception_value = NULL; 133     PyObject *exception_value = NULL;
141     PyTracebackObject *exception_tb = NULL; 134     PyTracebackObject *exception_tb = NULL;
142     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 135     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
143     PyObject *exception_keeper_type_1; 136     PyObject *exception_keeper_type_1;
144     PyObject *exception_keeper_value_1; 137     PyObject *exception_keeper_value_1;
145     PyTracebackObject *exception_keeper_tb_1; 138     PyTracebackObject *exception_keeper_tb_1;
146     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; 139     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
n 147     PyObject *exception_keeper_type_2; n
148     PyObject *exception_keeper_value_2;
149     PyTracebackObject *exception_keeper_tb_2;
150     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
151     PyObject *tmp_assign_source_1; 140     PyObject *tmp_assign_source_1;
n 152     PyObject *tmp_assign_source_2; n
153     PyObject *tmp_assign_source_3;
154     PyObject *tmp_assign_source_4;
155     PyObject *tmp_assign_source_5;
156     PyObject *tmp_iter_arg_1;
157     PyObject *tmp_left_name_1;
158     PyObject *tmp_next_source_1;
159     PyObject *tmp_return_value; 141     PyObject *tmp_return_value;
n 160     PyObject *tmp_right_name_1; n
161     NUITKA_MAY_BE_UNUSED PyObject *tmp_unused; 142     NUITKA_MAY_BE_UNUSED PyObject *tmp_unused;
n 162     PyObject *tmp_xrange_high_1; n 143     static struct Nuitka_FrameObject *cache_frame_0ebaf1baa2e5283f8c303161b5f34791 = NULL;
163     PyObject *tmp_xrange_low_1;
164     static struct Nuitka_FrameObject *cache_frame_13d86ae9461909e3eb7dd95231999faf = NULL;
165 144
n 166     struct Nuitka_FrameObject *frame_13d86ae9461909e3eb7dd95231999faf; n 145     struct Nuitka_FrameObject *frame_0ebaf1baa2e5283f8c303161b5f34791;
167 146
168     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 147     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
169     tmp_return_value = NULL; 148     tmp_return_value = NULL;
170 149
171     // Actual function code. 150     // Actual function code.
172     // Tried code: 151     // Tried code:
n 173     MAKE_OR_REUSE_FRAME( cache_frame_13d86ae9461909e3eb7dd95231999faf, codeobj_13d86ae9461909e3eb7dd95231999faf, module___main__, sizeof(void *)+sizeof(void *) ); n 152     MAKE_OR_REUSE_FRAME( cache_frame_0ebaf1baa2e5283f8c303161b5f34791, codeobj_0ebaf1baa2e5283f8c303161b5f34791, module___main__, sizeof(void *)+sizeof(void *) );
174     frame_13d86ae9461909e3eb7dd95231999faf = cache_frame_13d86ae9461909e3eb7dd95231999faf; 153     frame_0ebaf1baa2e5283f8c303161b5f34791 = cache_frame_0ebaf1baa2e5283f8c303161b5f34791;
175 154
176     // Push the new frame as the currently active one. 155     // Push the new frame as the currently active one.
n 177     pushFrameStack( frame_13d86ae9461909e3eb7dd95231999faf ); n 156     pushFrameStack( frame_0ebaf1baa2e5283f8c303161b5f34791 );
178 157
179     // Mark the frame object as in use, ref count 1 will be up for reuse. 158     // Mark the frame object as in use, ref count 1 will be up for reuse.
n 180     assert( Py_REFCNT( frame_13d86ae9461909e3eb7dd95231999faf ) == 2 ); // Frame stack n 159     assert( Py_REFCNT( frame_0ebaf1baa2e5283f8c303161b5f34791 ) == 2 ); // Frame stack
181 160
182     // Framed code: 161     // Framed code:
183     tmp_unused = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1 ); 162     tmp_unused = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1 );
184 163
185     if (unlikely( tmp_unused == NULL )) 164     if (unlikely( tmp_unused == NULL ))
195         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "module_value1" ); 174         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "module_value1" );
196         exception_tb = NULL; 175         exception_tb = NULL;
197         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 176         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
198         CHAIN_EXCEPTION( exception_value ); 177         CHAIN_EXCEPTION( exception_value );
199 178
n 200         exception_lineno = 27; n 179         exception_lineno = 26;
201         type_description_1 = "oo"; 180         type_description_1 = "No";
202         goto frame_exception_exit_1; 181         goto frame_exception_exit_1;
203     } 182     }
204 183
n 205     tmp_assign_source_1 = const_int_pos_2; n
206     assert( var_x == NULL );
207     Py_INCREF( tmp_assign_source_1 );
208     var_x = tmp_assign_source_1;
209  
210     tmp_assign_source_2 = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1 ); 184     tmp_assign_source_1 = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1 );
211 185
n 212     if (unlikely( tmp_assign_source_2 == NULL )) n 186     if (unlikely( tmp_assign_source_1 == NULL ))
213     { 187     {
n 214         tmp_assign_source_2 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1 ); n 188         tmp_assign_source_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1 );
215     } 189     }
216 190
n 217     if ( tmp_assign_source_2 == NULL ) n 191     if ( tmp_assign_source_1 == NULL )
218     { 192     {
219 193
220         exception_type = PyExc_NameError; 194         exception_type = PyExc_NameError;
221         Py_INCREF( exception_type ); 195         Py_INCREF( exception_type );
222         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "module_value1" ); 196         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "module_value1" );
223         exception_tb = NULL; 197         exception_tb = NULL;
224         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 198         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
225         CHAIN_EXCEPTION( exception_value ); 199         CHAIN_EXCEPTION( exception_value );
226 200
n 227         exception_lineno = 32; n 201         exception_lineno = 31;
228         type_description_1 = "oo"; 202         type_description_1 = "No";
229         goto frame_exception_exit_1; 203         goto frame_exception_exit_1;
230     } 204     }
231 205
232     assert( var_local_value == NULL ); 206     assert( var_local_value == NULL );
n 233     Py_INCREF( tmp_assign_source_2 ); n 207     Py_INCREF( tmp_assign_source_1 );
234     var_local_value = tmp_assign_source_2; 208     var_local_value = tmp_assign_source_1;
235 209
n 236     tmp_xrange_low_1 = var_local_value; n
237 210
n 238     CHECK_OBJECT( tmp_xrange_low_1 ); n 211 #if 0
239     tmp_left_name_1 = var_local_value; 212     RESTORE_FRAME_EXCEPTION( frame_0ebaf1baa2e5283f8c303161b5f34791 );
213 #endif
240 214
n 241     CHECK_OBJECT( tmp_left_name_1 ); n 215     // Put the previous frame back on top.
242     tmp_right_name_1 = const_int_pos_3; 216     popFrameStack();
243     tmp_xrange_high_1 = BINARY_OPERATION_ADD( tmp_left_name_1, tmp_right_name_1 ); 217  
244     if ( tmp_xrange_high_1 == NULL ) 218     goto frame_no_exception_1;
219  
220     frame_exception_exit_1:;
221  
222 #if 0
223     RESTORE_FRAME_EXCEPTION( frame_0ebaf1baa2e5283f8c303161b5f34791 );
224 #endif
225  
226     if ( exception_tb == NULL )
227     {
228         exception_tb = MAKE_TRACEBACK( frame_0ebaf1baa2e5283f8c303161b5f34791, exception_lineno );
245     { 229     }
246         assert( ERROR_OCCURRED() ); 230     else if ( exception_tb->tb_frame != &frame_0ebaf1baa2e5283f8c303161b5f34791->m_frame )
231     {
232         exception_tb = ADD_TRACEBACK( exception_tb, frame_0ebaf1baa2e5283f8c303161b5f34791, exception_lineno );
233     }
247 234
n 248         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); n 235     // Attachs locals to frame if any.
249   236     Nuitka_Frame_AttachLocals(
250   237         (struct Nuitka_FrameObject *)frame_0ebaf1baa2e5283f8c303161b5f34791,
251         exception_lineno = 35;
252         type_description_1 = "oo"; 238         type_description_1,
253         goto frame_exception_exit_1; 239         NULL,
240         var_local_value
241     );
242  
243  
244     // Release cached frame.
245     if ( frame_0ebaf1baa2e5283f8c303161b5f34791 == cache_frame_0ebaf1baa2e5283f8c303161b5f34791 )
254     } 246     {
255     tmp_iter_arg_1 = BUILTIN_XRANGE2( tmp_xrange_low_1, tmp_xrange_high_1 ); 247         Py_DECREF( frame_0ebaf1baa2e5283f8c303161b5f34791 );
256     Py_DECREF( tmp_xrange_high_1 );
257     if ( tmp_iter_arg_1 == NULL )
258     { 248     }
259         assert( ERROR_OCCURRED() ); 249     cache_frame_0ebaf1baa2e5283f8c303161b5f34791 = NULL;
260 250
n 261         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); n 251     assertFrameObject( frame_0ebaf1baa2e5283f8c303161b5f34791 );
262 252
n n 253     // Put the previous frame back on top.
254     popFrameStack();
263 255
n 264         exception_lineno = 35; n 256     // Return the error.
265         type_description_1 = "oo";
266         goto frame_exception_exit_1;
267     }
268     tmp_assign_source_3 = MAKE_ITERATOR( tmp_iter_arg_1 );
269     Py_DECREF( tmp_iter_arg_1 );
270     if ( tmp_assign_source_3 == NULL )
271     {
272         assert( ERROR_OCCURRED() );
273  
274         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
275  
276  
277         exception_lineno = 35;
278         type_description_1 = "oo";
279         goto frame_exception_exit_1;
280     }
281     assert( tmp_for_loop_1__for_iterator == NULL );
282     tmp_for_loop_1__for_iterator = tmp_assign_source_3;
283  
284     // Tried code:
285     loop_start_1:;
286     tmp_next_source_1 = tmp_for_loop_1__for_iterator;
287  
288     CHECK_OBJECT( tmp_next_source_1 );
289     tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
290     if ( tmp_assign_source_4 == NULL )
291     {
292         if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
293         {
294  
295             goto loop_end_1;
296         }
297         else
298         {
299  
300             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
301             type_description_1 = "oo";
302             exception_lineno = 35;
303             goto try_except_handler_2;
304         }
305     }
306  
307     {
308         PyObject *old = tmp_for_loop_1__iter_value;
309         tmp_for_loop_1__iter_value = tmp_assign_source_4;
310         Py_XDECREF( old );
311     }
312  
313     tmp_assign_source_5 = tmp_for_loop_1__iter_value;
314  
315     CHECK_OBJECT( tmp_assign_source_5 );
316     {
317         PyObject *old = var_x;
318         var_x = tmp_assign_source_5;
319         Py_INCREF( var_x );
320         Py_XDECREF( old );
321     }
322  
323     if ( CONSIDER_THREADING() == false )
324     {
325         assert( ERROR_OCCURRED() );
326  
327         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
328  
329  
330         exception_lineno = 35;
331         type_description_1 = "oo";
332         goto try_except_handler_2; 257     goto try_except_handler_1;
333     } 258  
334     goto loop_start_1; 259     frame_no_exception_1:;
335     loop_end_1:; 260  
261     tmp_return_value = Py_None;
262     Py_INCREF( tmp_return_value );
336     goto try_end_1; 263     goto try_return_handler_1;
264     // tried codes exits in all cases
265     NUITKA_CANNOT_GET_HERE( __main__$$$function_1_calledRepeatedly );
266     return NULL;
267     // Return handler code:
268     try_return_handler_1:;
269     CHECK_OBJECT( (PyObject *)var_local_value );
270     Py_DECREF( var_local_value );
271     var_local_value = NULL;
272  
273     goto function_return_exit;
337     // Exception handler code: 274     // Exception handler code:
n 338     try_except_handler_2:; n 275     try_except_handler_1:;
339     exception_keeper_type_1 = exception_type; 276     exception_keeper_type_1 = exception_type;
340     exception_keeper_value_1 = exception_value; 277     exception_keeper_value_1 = exception_value;
341     exception_keeper_tb_1 = exception_tb; 278     exception_keeper_tb_1 = exception_tb;
342     exception_keeper_lineno_1 = exception_lineno; 279     exception_keeper_lineno_1 = exception_lineno;
343     exception_type = NULL; 280     exception_type = NULL;
344     exception_value = NULL; 281     exception_value = NULL;
345     exception_tb = NULL; 282     exception_tb = NULL;
346     exception_lineno = 0; 283     exception_lineno = 0;
347 284
n 348     Py_XDECREF( tmp_for_loop_1__iter_value ); n
349     tmp_for_loop_1__iter_value = NULL;
350  
351     CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
352     Py_DECREF( tmp_for_loop_1__for_iterator );
353     tmp_for_loop_1__for_iterator = NULL;
354  
355     // Re-raise. 285     // Re-raise.
356     exception_type = exception_keeper_type_1; 286     exception_type = exception_keeper_type_1;
357     exception_value = exception_keeper_value_1; 287     exception_value = exception_keeper_value_1;
358     exception_tb = exception_keeper_tb_1; 288     exception_tb = exception_keeper_tb_1;
359     exception_lineno = exception_keeper_lineno_1; 289     exception_lineno = exception_keeper_lineno_1;
n 360   n
361     goto frame_exception_exit_1;
362     // End of try:
363     try_end_1:;
364  
365 #if 0
366     RESTORE_FRAME_EXCEPTION( frame_13d86ae9461909e3eb7dd95231999faf );
367 #endif
368  
369     // Put the previous frame back on top.
370     popFrameStack();
371  
372     goto frame_no_exception_1;
373  
374     frame_exception_exit_1:;
375  
376 #if 0
377     RESTORE_FRAME_EXCEPTION( frame_13d86ae9461909e3eb7dd95231999faf );
378 #endif
379  
380     if ( exception_tb == NULL )
381     {
382         exception_tb = MAKE_TRACEBACK( frame_13d86ae9461909e3eb7dd95231999faf, exception_lineno );
383     }
384     else if ( exception_tb->tb_frame != &frame_13d86ae9461909e3eb7dd95231999faf->m_frame )
385     {
386         exception_tb = ADD_TRACEBACK( exception_tb, frame_13d86ae9461909e3eb7dd95231999faf, exception_lineno );
387     }
388  
389     // Attachs locals to frame if any.
390     Nuitka_Frame_AttachLocals(
391         (struct Nuitka_FrameObject *)frame_13d86ae9461909e3eb7dd95231999faf,
392         type_description_1,
393         var_x,
394         var_local_value
395     );
396  
397  
398     // Release cached frame.
399     if ( frame_13d86ae9461909e3eb7dd95231999faf == cache_frame_13d86ae9461909e3eb7dd95231999faf )
400     {
401         Py_DECREF( frame_13d86ae9461909e3eb7dd95231999faf );
402     }
403     cache_frame_13d86ae9461909e3eb7dd95231999faf = NULL;
404  
405     assertFrameObject( frame_13d86ae9461909e3eb7dd95231999faf );
406  
407     // Put the previous frame back on top.
408     popFrameStack();
409  
410     // Return the error.
411     goto try_except_handler_1;
412  
413     frame_no_exception_1:;
414  
415     Py_XDECREF( tmp_for_loop_1__iter_value );
416     tmp_for_loop_1__iter_value = NULL;
417  
418     CHECK_OBJECT( (PyObject *)tmp_for_loop_1__for_iterator );
419     Py_DECREF( tmp_for_loop_1__for_iterator );
420     tmp_for_loop_1__for_iterator = NULL;
421  
422     tmp_return_value = Py_None;
423     Py_INCREF( tmp_return_value );
424     goto try_return_handler_1;
425     // tried codes exits in all cases
426     NUITKA_CANNOT_GET_HERE( __main__$$$function_1_calledRepeatedly );
427     return NULL;
428     // Return handler code:
429     try_return_handler_1:;
430     Py_XDECREF( var_x );
431     var_x = NULL;
432  
433     Py_XDECREF( var_local_value );
434     var_local_value = NULL;
435  
436     goto function_return_exit;
437     // Exception handler code:
438     try_except_handler_1:;
439     exception_keeper_type_2 = exception_type;
440     exception_keeper_value_2 = exception_value;
441     exception_keeper_tb_2 = exception_tb;
442     exception_keeper_lineno_2 = exception_lineno;
443     exception_type = NULL;
444     exception_value = NULL;
445     exception_tb = NULL;
446     exception_lineno = 0;
447  
448     Py_XDECREF( var_x );
449     var_x = NULL;
450  
451     Py_XDECREF( var_local_value );
452     var_local_value = NULL;
453  
454     // Re-raise.
455     exception_type = exception_keeper_type_2;
456     exception_value = exception_keeper_value_2;
457     exception_tb = exception_keeper_tb_2;
458     exception_lineno = exception_keeper_lineno_2;
459 290
460     goto function_exception_exit; 291     goto function_exception_exit;
461     // End of try: 292     // End of try:
462 293
463     // Return statement must have exited already. 294     // Return statement must have exited already.
485         impl___main__$$$function_1_calledRepeatedly, 316         impl___main__$$$function_1_calledRepeatedly,
486         const_str_plain_calledRepeatedly, 317         const_str_plain_calledRepeatedly,
487 #if PYTHON_VERSION >= 330 318 #if PYTHON_VERSION >= 330
488         NULL, 319         NULL,
489 #endif 320 #endif
n 490         codeobj_13d86ae9461909e3eb7dd95231999faf, n 321         codeobj_0ebaf1baa2e5283f8c303161b5f34791,
491         NULL, 322         NULL,
492 #if PYTHON_VERSION >= 300 323 #if PYTHON_VERSION >= 300
493         NULL, 324         NULL,
494         const_dict_empty, 325         const_dict_empty,
495 #endif 326 #endif
689     PyObject *tmp_assign_source_9; 520     PyObject *tmp_assign_source_9;
690     PyObject *tmp_assign_source_10; 521     PyObject *tmp_assign_source_10;
691     PyObject *tmp_assign_source_11; 522     PyObject *tmp_assign_source_11;
692     PyObject *tmp_assign_source_12; 523     PyObject *tmp_assign_source_12;
693     PyObject *tmp_assign_source_13; 524     PyObject *tmp_assign_source_13;
n 694     PyObject *tmp_assign_source_14; n
695     PyObject *tmp_called_instance_1; 525     PyObject *tmp_called_instance_1;
696     PyObject *tmp_called_name_1; 526     PyObject *tmp_called_name_1;
697     PyObject *tmp_called_name_2; 527     PyObject *tmp_called_name_2;
698     PyObject *tmp_fromlist_name_1; 528     PyObject *tmp_fromlist_name_1;
699     PyObject *tmp_globals_name_1; 529     PyObject *tmp_globals_name_1;
718     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___spec__, tmp_assign_source_4 ); 548     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___spec__, tmp_assign_source_4 );
719     tmp_assign_source_5 = Py_None; 549     tmp_assign_source_5 = Py_None;
720     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_5 ); 550     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_5 );
721     tmp_assign_source_6 = Py_None; 551     tmp_assign_source_6 = Py_None;
722     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___package__, tmp_assign_source_6 ); 552     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___package__, tmp_assign_source_6 );
n 723     tmp_assign_source_7 = const_str_digest_22a193c3d7cc078fc07311e7fe59155b; n
724     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain___file__, tmp_assign_source_7 );
725     tmp_assign_source_8 = const_int_pos_5; 553     tmp_assign_source_7 = const_int_pos_5;
726     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_8 ); 554     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_7 );
727     tmp_assign_source_9 = const_int_pos_3; 555     tmp_assign_source_8 = const_int_pos_3;
728     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_9 ); 556     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_8 );
729     tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  ); 557     tmp_assign_source_9 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  );
730     UPDATE_STRING_DICT1( moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_10 ); 558     UPDATE_STRING_DICT1( moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_9 );
731     tmp_name_name_1 = const_str_plain_itertools; 559     tmp_name_name_1 = const_str_plain_itertools;
732     tmp_globals_name_1 = (PyObject *)moduledict___main__; 560     tmp_globals_name_1 = (PyObject *)moduledict___main__;
733     tmp_locals_name_1 = Py_None; 561     tmp_locals_name_1 = Py_None;
734     tmp_fromlist_name_1 = Py_None; 562     tmp_fromlist_name_1 = Py_None;
735     tmp_level_name_1 = const_int_0; 563     tmp_level_name_1 = const_int_0;
n 736     tmp_assign_source_11 = IMPORT_MODULE5( tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1 ); n 564     tmp_assign_source_10 = IMPORT_MODULE5( tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1 );
737     assert( tmp_assign_source_11 != NULL ); 565     assert( tmp_assign_source_10 != NULL );
738     UPDATE_STRING_DICT1( moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_11 ); 566     UPDATE_STRING_DICT1( moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_10 );
739     // Frame without reuse. 567     // Frame without reuse.
740     frame_01cd3b346727cf17dfd127a3c4833fdc = MAKE_MODULE_FRAME( codeobj_01cd3b346727cf17dfd127a3c4833fdc, module___main__ ); 568     frame_01cd3b346727cf17dfd127a3c4833fdc = MAKE_MODULE_FRAME( codeobj_01cd3b346727cf17dfd127a3c4833fdc, module___main__ );
741 569
742     // Push the new frame as the currently active one, and we should be exclusively 570     // Push the new frame as the currently active one, and we should be exclusively
743     // owning it. 571     // owning it.
760         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "itertools" ); 588         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "itertools" );
761         exception_tb = NULL; 589         exception_tb = NULL;
762         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 590         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
763         CHAIN_EXCEPTION( exception_value ); 591         CHAIN_EXCEPTION( exception_value );
764 592
n 765         exception_lineno = 40; n 593         exception_lineno = 39;
766 594
767         goto frame_exception_exit_1; 595         goto frame_exception_exit_1;
768     } 596     }
769 597
n 770     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 40; n 598     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 39;
771     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 ) ); 599     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 ) );
772 600
773     if ( tmp_iter_arg_1 == NULL ) 601     if ( tmp_iter_arg_1 == NULL )
774     { 602     {
775         assert( ERROR_OCCURRED() ); 603         assert( ERROR_OCCURRED() );
776 604
777         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 605         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
778 606
779 607
n 780         exception_lineno = 40; n 608         exception_lineno = 39;
781 609
782         goto frame_exception_exit_1; 610         goto frame_exception_exit_1;
783     } 611     }
n 784     tmp_assign_source_12 = MAKE_ITERATOR( tmp_iter_arg_1 ); n 612     tmp_assign_source_11 = MAKE_ITERATOR( tmp_iter_arg_1 );
785     Py_DECREF( tmp_iter_arg_1 ); 613     Py_DECREF( tmp_iter_arg_1 );
n 786     if ( tmp_assign_source_12 == NULL ) n 614     if ( tmp_assign_source_11 == NULL )
787     { 615     {
788         assert( ERROR_OCCURRED() ); 616         assert( ERROR_OCCURRED() );
789 617
790         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 618         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
791 619
792 620
n 793         exception_lineno = 40; n 621         exception_lineno = 39;
794 622
795         goto frame_exception_exit_1; 623         goto frame_exception_exit_1;
796     } 624     }
797     assert( tmp_for_loop_1__for_iterator == NULL ); 625     assert( tmp_for_loop_1__for_iterator == NULL );
n 798     tmp_for_loop_1__for_iterator = tmp_assign_source_12; n 626     tmp_for_loop_1__for_iterator = tmp_assign_source_11;
799 627
800     // Tried code: 628     // Tried code:
801     loop_start_1:; 629     loop_start_1:;
802     tmp_next_source_1 = tmp_for_loop_1__for_iterator; 630     tmp_next_source_1 = tmp_for_loop_1__for_iterator;
803 631
804     CHECK_OBJECT( tmp_next_source_1 ); 632     CHECK_OBJECT( tmp_next_source_1 );
n 805     tmp_assign_source_13 = ITERATOR_NEXT( tmp_next_source_1 ); n 633     tmp_assign_source_12 = ITERATOR_NEXT( tmp_next_source_1 );
806     if ( tmp_assign_source_13 == NULL ) 634     if ( tmp_assign_source_12 == NULL )
807     { 635     {
808         if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() ) 636         if ( CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED() )
809         { 637         {
810 638
811             goto loop_end_1; 639             goto loop_end_1;
813         else 641         else
814         { 642         {
815 643
816             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 644             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
817 645
n 818             exception_lineno = 40; n 646             exception_lineno = 39;
819             goto try_except_handler_1; 647             goto try_except_handler_1;
820         } 648         }
821     } 649     }
822 650
823     { 651     {
824         PyObject *old = tmp_for_loop_1__iter_value; 652         PyObject *old = tmp_for_loop_1__iter_value;
n 825         tmp_for_loop_1__iter_value = tmp_assign_source_13; n 653         tmp_for_loop_1__iter_value = tmp_assign_source_12;
826         Py_XDECREF( old ); 654         Py_XDECREF( old );
827     } 655     }
828 656
n 829     tmp_assign_source_14 = tmp_for_loop_1__iter_value; n 657     tmp_assign_source_13 = tmp_for_loop_1__iter_value;
830 658
n 831     CHECK_OBJECT( tmp_assign_source_14 ); n 659     CHECK_OBJECT( tmp_assign_source_13 );
832     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_14 ); 660     UPDATE_STRING_DICT0( moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_13 );
833     tmp_called_name_1 = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly ); 661     tmp_called_name_1 = GET_STRING_DICT_VALUE( moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly );
834 662
835     if (unlikely( tmp_called_name_1 == NULL )) 663     if (unlikely( tmp_called_name_1 == NULL ))
836     { 664     {
837         tmp_called_name_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_calledRepeatedly ); 665         tmp_called_name_1 = GET_STRING_DICT_VALUE( dict_builtin, (Nuitka_StringObject *)const_str_plain_calledRepeatedly );
845         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "calledRepeatedly" ); 673         exception_value = PyUnicode_FromFormat( "name '%s' is not defined", "calledRepeatedly" );
846         exception_tb = NULL; 674         exception_tb = NULL;
847         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 675         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
848         CHAIN_EXCEPTION( exception_value ); 676         CHAIN_EXCEPTION( exception_value );
849 677
n 850         exception_lineno = 41; n 678         exception_lineno = 40;
851 679
852         goto try_except_handler_1; 680         goto try_except_handler_1;
853     } 681     }
854 682
n 855     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 41; n 683     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 40;
856     tmp_unused = CALL_FUNCTION_NO_ARGS( tmp_called_name_1 ); 684     tmp_unused = CALL_FUNCTION_NO_ARGS( tmp_called_name_1 );
857     if ( tmp_unused == NULL ) 685     if ( tmp_unused == NULL )
858     { 686     {
859         assert( ERROR_OCCURRED() ); 687         assert( ERROR_OCCURRED() );
860 688
861         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 689         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
862 690
863 691
n 864         exception_lineno = 41; n 692         exception_lineno = 40;
865 693
866         goto try_except_handler_1; 694         goto try_except_handler_1;
867     } 695     }
868     Py_DECREF( tmp_unused ); 696     Py_DECREF( tmp_unused );
869     if ( CONSIDER_THREADING() == false ) 697     if ( CONSIDER_THREADING() == false )
871         assert( ERROR_OCCURRED() ); 699         assert( ERROR_OCCURRED() );
872 700
873         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 701         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
874 702
875 703
n 876         exception_lineno = 40; n 704         exception_lineno = 39;
877 705
878         goto try_except_handler_1; 706         goto try_except_handler_1;
879     } 707     }
880     goto loop_start_1; 708     goto loop_start_1;
881     loop_end_1:; 709     loop_end_1:;
914     Py_DECREF( tmp_for_loop_1__for_iterator ); 742     Py_DECREF( tmp_for_loop_1__for_iterator );
915     tmp_for_loop_1__for_iterator = NULL; 743     tmp_for_loop_1__for_iterator = NULL;
916 744
917     tmp_called_name_2 = LOOKUP_BUILTIN( const_str_plain_print ); 745     tmp_called_name_2 = LOOKUP_BUILTIN( const_str_plain_print );
918     assert( tmp_called_name_2 != NULL ); 746     assert( tmp_called_name_2 != NULL );
n 919     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 43; n 747     frame_01cd3b346727cf17dfd127a3c4833fdc->m_frame.f_lineno = 42;
920     tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, &PyTuple_GET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0 ) ); 748     tmp_unused = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, &PyTuple_GET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0 ) );
921 749
922     if ( tmp_unused == NULL ) 750     if ( tmp_unused == NULL )
923     { 751     {
924         assert( ERROR_OCCURRED() ); 752         assert( ERROR_OCCURRED() );
925 753
926         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb ); 754         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
927 755
928 756
t 929         exception_lineno = 43; t 757         exception_lineno = 42;
930 758
931         goto frame_exception_exit_1; 759         goto frame_exception_exit_1;
932     } 760     }
933     Py_DECREF( tmp_unused ); 761     Py_DECREF( tmp_unused );
934 762