|
#ifndef __NUITKA_NO_ASSERT__ |
|
#ifndef __NUITKA_NO_ASSERT__ |
|
void checkModuleConstants___main__(void) { |
|
void checkModuleConstants___main__(void) { |
|
// The module may not have been used at all, then ignore this. |
|
// The module may not have been used at all, then ignore this. |
|
if (constants_created == false) return; |
|
if (constants_created == false) return; |
|
|
|
|
n |
for(int i = 0; i < 20; i++) { |
n |
for(int i = 0; i < 18; i++) { |
|
assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i])); |
|
assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i])); |
|
CHECK_OBJECT_DEEP(mod_consts[i]); |
|
CHECK_OBJECT_DEEP(mod_consts[i]); |
|
} |
|
} |
|
} |
|
} |
|
#endif |
|
#endif |
|
|
|
|
|
// The module code objects. |
|
// The module code objects. |
n |
static PyCodeObject *codeobj_1af4aae97f372c0bf57864d7cfe796c4; |
n |
|
|
static PyCodeObject *codeobj_e2a56102aef1a2df2d4bc8360d868d39; |
|
static PyCodeObject *codeobj_e2a56102aef1a2df2d4bc8360d868d39; |
|
static PyCodeObject *codeobj_d52023901f89b18e041b047cc67f4a9e; |
|
static PyCodeObject *codeobj_d52023901f89b18e041b047cc67f4a9e; |
|
/* For use in "MainProgram.c". */ |
|
/* For use in "MainProgram.c". */ |
|
PyCodeObject *codeobj_main = NULL; |
|
PyCodeObject *codeobj_main = NULL; |
|
|
|
|
|
static void createModuleCodeObjects(void) { |
|
static void createModuleCodeObjects(void) { |
|
module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj); |
|
module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj); |
n |
codeobj_1af4aae97f372c0bf57864d7cfe796c4 = MAKE_CODEOBJECT(module_filename_obj, 27, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[16], mod_consts[17], NULL, 1, 0, 0); |
n |
|
|
codeobj_e2a56102aef1a2df2d4bc8360d868d39 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0); |
|
codeobj_e2a56102aef1a2df2d4bc8360d868d39 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[16], NULL, NULL, 0, 0, 0); |
|
codeobj_d52023901f89b18e041b047cc67f4a9e = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[9], mod_consts[19], NULL, 0, 0, 0); |
|
codeobj_d52023901f89b18e041b047cc67f4a9e = MAKE_CODEOBJECT(module_filename_obj, 22, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[9], mod_consts[17], NULL, 0, 0, 0); |
|
} |
|
} |
|
|
|
|
|
// The module function declarations. |
|
// The module function declarations. |
|
static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); |
|
static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); |
|
|
|
|
|
#ifndef __NUITKA_NO_ASSERT__ |
|
#ifndef __NUITKA_NO_ASSERT__ |
|
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); |
|
NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); |
|
#endif |
|
#endif |
|
|
|
|
|
// Local variable declarations. |
|
// Local variable declarations. |
n |
PyObject *var_l = NULL; |
n |
|
|
PyObject *outline_0_var_x = NULL; |
|
|
|
PyObject *tmp_listcomp_1__$0 = NULL; |
|
|
|
PyObject *tmp_listcomp_1__contraction = NULL; |
|
|
|
PyObject *tmp_listcomp_1__iter_value_0 = NULL; |
|
|
|
struct Nuitka_FrameObject *frame_d52023901f89b18e041b047cc67f4a9e; |
|
struct Nuitka_FrameObject *frame_d52023901f89b18e041b047cc67f4a9e; |
|
NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; |
|
NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; |
|
NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; |
|
NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; |
|
PyObject *exception_type = NULL; |
|
PyObject *exception_type = NULL; |
|
PyObject *exception_value = NULL; |
|
PyObject *exception_value = NULL; |
|
PyTracebackObject *exception_tb = NULL; |
|
PyTracebackObject *exception_tb = NULL; |
|
NUITKA_MAY_BE_UNUSED int exception_lineno = 0; |
|
NUITKA_MAY_BE_UNUSED int exception_lineno = 0; |
n |
struct Nuitka_FrameObject *frame_1af4aae97f372c0bf57864d7cfe796c4_2; |
n |
|
|
NUITKA_MAY_BE_UNUSED char const *type_description_2 = NULL; |
|
|
|
bool tmp_result; |
|
|
|
PyObject *exception_keeper_type_1; |
|
|
|
PyObject *exception_keeper_value_1; |
|
|
|
PyTracebackObject *exception_keeper_tb_1; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; |
|
|
|
static struct Nuitka_FrameObject *cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2 = NULL; |
|
|
|
PyObject *exception_keeper_type_2; |
|
|
|
PyObject *exception_keeper_value_2; |
|
|
|
PyTracebackObject *exception_keeper_tb_2; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2; |
|
|
|
PyObject *tmp_return_value = NULL; |
|
PyObject *tmp_return_value = NULL; |
|
static struct Nuitka_FrameObject *cache_frame_d52023901f89b18e041b047cc67f4a9e = NULL; |
|
static struct Nuitka_FrameObject *cache_frame_d52023901f89b18e041b047cc67f4a9e = NULL; |
n |
PyObject *exception_keeper_type_3; |
n |
|
|
PyObject *exception_keeper_value_3; |
|
|
|
PyTracebackObject *exception_keeper_tb_3; |
|
|
|
NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_3; |
|
|
|
|
|
|
|
// Actual function body. |
|
// Actual function body. |
n |
// Tried code: |
n |
|
|
if (isFrameUnusable(cache_frame_d52023901f89b18e041b047cc67f4a9e)) { |
|
if (isFrameUnusable(cache_frame_d52023901f89b18e041b047cc67f4a9e)) { |
|
Py_XDECREF(cache_frame_d52023901f89b18e041b047cc67f4a9e); |
|
Py_XDECREF(cache_frame_d52023901f89b18e041b047cc67f4a9e); |
|
|
|
|
|
#if _DEBUG_REFCOUNTS |
|
#if _DEBUG_REFCOUNTS |
|
if (cache_frame_d52023901f89b18e041b047cc67f4a9e == NULL) { |
|
if (cache_frame_d52023901f89b18e041b047cc67f4a9e == NULL) { |
|
|
|
|
|
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); |
|
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
exception_lineno = 24; |
|
exception_lineno = 24; |
n |
type_description_1 = "o"; |
n |
type_description_1 = "N"; |
|
goto frame_exception_exit_1; |
|
goto frame_exception_exit_1; |
|
} |
|
} |
|
} |
|
} |
|
{ |
|
{ |
n |
PyObject *tmp_assign_source_1; |
n |
|
|
{ |
|
|
|
PyObject *tmp_assign_source_2; |
|
|
|
PyObject *tmp_iter_arg_1; |
|
|
|
tmp_iter_arg_1 = mod_consts[1]; |
|
|
|
tmp_assign_source_2 = MAKE_ITERATOR_INFALLIBLE(tmp_iter_arg_1); |
|
|
|
assert(!(tmp_assign_source_2 == NULL)); |
|
|
|
assert(tmp_listcomp_1__$0 == NULL); |
|
|
|
tmp_listcomp_1__$0 = tmp_assign_source_2; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_3; |
|
|
|
tmp_assign_source_3 = PyList_New(0); |
|
|
|
assert(tmp_listcomp_1__contraction == NULL); |
|
|
|
tmp_listcomp_1__contraction = tmp_assign_source_3; |
|
|
|
} |
|
|
|
// Tried code: |
|
|
|
if (isFrameUnusable(cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2)) { |
|
|
|
Py_XDECREF(cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
|
|
|
|
#if _DEBUG_REFCOUNTS |
|
|
|
if (cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2 == NULL) { |
|
|
|
count_active_frame_cache_instances += 1; |
|
|
|
} else { |
|
|
|
count_released_frame_cache_instances += 1; |
|
|
|
} |
|
|
|
count_allocated_frame_cache_instances += 1; |
|
|
|
#endif |
|
|
|
cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2 = MAKE_FUNCTION_FRAME(codeobj_1af4aae97f372c0bf57864d7cfe796c4, module___main__, sizeof(void *)); |
|
|
|
#if _DEBUG_REFCOUNTS |
|
|
|
} else { |
|
|
|
count_hit_frame_cache_instances += 1; |
|
|
|
#endif |
|
|
|
} |
|
|
|
assert(cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2->m_type_description == NULL); |
|
|
|
frame_1af4aae97f372c0bf57864d7cfe796c4_2 = cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2; |
|
|
|
|
|
|
|
// Push the new frame as the currently active one. |
|
|
|
pushFrameStack(frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
|
|
|
|
// Mark the frame object as in use, ref count 1 will be up for reuse. |
|
|
|
assert(Py_REFCNT(frame_1af4aae97f372c0bf57864d7cfe796c4_2) == 2); // Frame stack |
|
|
|
|
|
|
|
// Framed code: |
|
|
|
// Tried code: |
|
|
|
loop_start_1:; |
|
|
|
{ |
|
|
|
PyObject *tmp_next_source_1; |
|
|
|
PyObject *tmp_assign_source_4; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__$0); |
|
|
|
tmp_next_source_1 = tmp_listcomp_1__$0; |
|
|
|
tmp_assign_source_4 = ITERATOR_NEXT(tmp_next_source_1); |
|
|
|
if (tmp_assign_source_4 == NULL) { |
|
|
|
if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) { |
|
|
|
|
|
|
|
goto loop_end_1; |
|
|
|
} else { |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); |
|
|
|
type_description_2 = "o"; |
|
|
|
exception_lineno = 27; |
|
|
|
goto try_except_handler_3; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
{ |
|
|
|
PyObject *old = tmp_listcomp_1__iter_value_0; |
|
|
|
tmp_listcomp_1__iter_value_0 = tmp_assign_source_4; |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_assign_source_5; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__iter_value_0); |
|
|
|
tmp_assign_source_5 = tmp_listcomp_1__iter_value_0; |
|
|
|
{ |
|
|
|
PyObject *old = outline_0_var_x; |
|
|
|
outline_0_var_x = tmp_assign_source_5; |
|
|
|
Py_INCREF(outline_0_var_x); |
|
|
|
Py_XDECREF(old); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_append_list_1; |
|
|
|
PyObject *tmp_append_value_1; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__contraction); |
|
|
|
tmp_append_list_1 = tmp_listcomp_1__contraction; |
|
|
|
CHECK_OBJECT(outline_0_var_x); |
|
|
|
tmp_append_value_1 = outline_0_var_x; |
|
|
|
assert(PyList_Check(tmp_append_list_1)); |
|
|
|
tmp_result = LIST_APPEND0(tmp_append_list_1, tmp_append_value_1); |
|
|
|
if (tmp_result == false) { |
|
|
|
assert(ERROR_OCCURRED()); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 27; |
|
|
|
type_description_2 = "o"; |
|
|
|
goto try_except_handler_3; |
|
|
|
} |
|
|
|
} |
|
|
|
if (CONSIDER_THREADING() == false) { |
|
|
|
assert(ERROR_OCCURRED()); |
|
|
|
|
|
|
|
FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); |
|
|
|
|
|
|
|
|
|
|
|
exception_lineno = 27; |
|
|
|
type_description_2 = "o"; |
|
|
|
goto try_except_handler_3; |
|
|
|
} |
|
|
|
goto loop_start_1; |
|
|
|
loop_end_1:; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__contraction); |
|
|
|
tmp_assign_source_1 = tmp_listcomp_1__contraction; |
|
|
|
Py_INCREF(tmp_assign_source_1); |
|
|
|
goto try_return_handler_3; |
|
|
|
NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); |
|
|
|
return NULL; |
|
|
|
// Return handler code: |
|
|
|
try_return_handler_3:; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__$0); |
|
|
|
Py_DECREF(tmp_listcomp_1__$0); |
|
|
|
tmp_listcomp_1__$0 = NULL; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__contraction); |
|
|
|
Py_DECREF(tmp_listcomp_1__contraction); |
|
|
|
tmp_listcomp_1__contraction = NULL; |
|
|
|
Py_XDECREF(tmp_listcomp_1__iter_value_0); |
|
|
|
tmp_listcomp_1__iter_value_0 = NULL; |
|
|
|
goto frame_return_exit_2; |
|
|
|
// Exception handler code: |
|
|
|
try_except_handler_3:; |
|
|
|
exception_keeper_type_1 = exception_type; |
|
|
|
exception_keeper_value_1 = exception_value; |
|
|
|
exception_keeper_tb_1 = exception_tb; |
|
|
|
exception_keeper_lineno_1 = exception_lineno; |
|
|
|
exception_type = NULL; |
|
|
|
exception_value = NULL; |
|
|
|
exception_tb = NULL; |
|
|
|
exception_lineno = 0; |
|
|
|
|
|
|
|
CHECK_OBJECT(tmp_listcomp_1__$0); |
|
|
|
Py_DECREF(tmp_listcomp_1__$0); |
|
|
|
tmp_listcomp_1__$0 = NULL; |
|
|
|
CHECK_OBJECT(tmp_listcomp_1__contraction); |
|
|
|
Py_DECREF(tmp_listcomp_1__contraction); |
|
|
|
tmp_listcomp_1__contraction = NULL; |
|
|
|
Py_XDECREF(tmp_listcomp_1__iter_value_0); |
|
|
|
tmp_listcomp_1__iter_value_0 = NULL; |
|
|
|
// Re-raise. |
|
|
|
exception_type = exception_keeper_type_1; |
|
|
|
exception_value = exception_keeper_value_1; |
|
|
|
exception_tb = exception_keeper_tb_1; |
|
|
|
exception_lineno = exception_keeper_lineno_1; |
|
|
|
|
|
|
|
goto frame_exception_exit_2; |
|
|
|
// End of try: |
|
|
|
|
|
|
|
#if 0 |
|
|
|
RESTORE_FRAME_EXCEPTION(frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Put the previous frame back on top. |
|
|
|
popFrameStack(); |
|
|
|
|
|
|
|
goto frame_no_exception_1; |
|
|
|
|
|
|
|
frame_return_exit_2:; |
|
|
|
#if 0 |
|
|
|
RESTORE_FRAME_EXCEPTION(frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Put the previous frame back on top. |
|
|
|
popFrameStack(); |
|
|
|
|
|
|
|
goto try_return_handler_2; |
|
|
|
|
|
|
|
frame_exception_exit_2:; |
|
|
|
|
|
|
|
#if 0 |
|
|
|
RESTORE_FRAME_EXCEPTION(frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
#endif |
|
|
|
|
|
|
|
if (exception_tb == NULL) { |
|
|
|
exception_tb = MAKE_TRACEBACK(frame_1af4aae97f372c0bf57864d7cfe796c4_2, exception_lineno); |
|
|
|
} else if (exception_tb->tb_frame != &frame_1af4aae97f372c0bf57864d7cfe796c4_2->m_frame) { |
|
|
|
exception_tb = ADD_TRACEBACK(exception_tb, frame_1af4aae97f372c0bf57864d7cfe796c4_2, exception_lineno); |
|
|
|
} |
|
|
|
|
|
|
|
// Attaches locals to frame if any. |
|
|
|
Nuitka_Frame_AttachLocals( |
|
|
|
frame_1af4aae97f372c0bf57864d7cfe796c4_2, |
|
|
|
type_description_2, |
|
|
|
outline_0_var_x |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// Release cached frame if used for exception. |
|
|
|
if (frame_1af4aae97f372c0bf57864d7cfe796c4_2 == cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2) { |
|
|
|
#if _DEBUG_REFCOUNTS |
|
|
|
count_active_frame_cache_instances -= 1; |
|
|
|
count_released_frame_cache_instances += 1; |
|
|
|
#endif |
|
|
|
|
|
|
|
Py_DECREF(cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
cache_frame_1af4aae97f372c0bf57864d7cfe796c4_2 = NULL; |
|
|
|
} |
|
|
|
|
|
|
|
assertFrameObject(frame_1af4aae97f372c0bf57864d7cfe796c4_2); |
|
|
|
|
|
|
|
// Put the previous frame back on top. |
|
|
|
popFrameStack(); |
|
|
|
|
|
|
|
// Return the error. |
|
|
|
goto nested_frame_exit_1; |
|
|
|
|
|
|
|
frame_no_exception_1:; |
|
|
|
goto skip_nested_handling_1; |
|
|
|
nested_frame_exit_1:; |
|
|
|
type_description_1 = "o"; |
|
|
|
goto try_except_handler_2; |
|
|
|
skip_nested_handling_1:; |
|
|
|
NUITKA_CANNOT_GET_HERE("tried codes exits in all cases"); |
|
|
|
return NULL; |
|
|
|
// Return handler code: |
|
|
|
try_return_handler_2:; |
|
|
|
Py_XDECREF(outline_0_var_x); |
|
|
|
outline_0_var_x = NULL; |
|
|
|
goto outline_result_1; |
|
|
|
// Exception handler code: |
|
|
|
try_except_handler_2:; |
|
|
|
exception_keeper_type_2 = exception_type; |
|
|
|
exception_keeper_value_2 = exception_value; |
|
|
|
exception_keeper_tb_2 = exception_tb; |
|
|
|
exception_keeper_lineno_2 = exception_lineno; |
|
|
|
exception_type = NULL; |
|
|
|
exception_value = NULL; |
|
|
|
exception_tb = NULL; |
|
|
|
exception_lineno = 0; |
|
|
|
|
|
|
|
Py_XDECREF(outline_0_var_x); |
|
|
|
outline_0_var_x = NULL; |
|
|
|
// Re-raise. |
|
|
|
exception_type = exception_keeper_type_2; |
|
|
|
exception_value = exception_keeper_value_2; |
|
|
|
exception_tb = exception_keeper_tb_2; |
|
|
|
exception_lineno = exception_keeper_lineno_2; |
|
|
|
|
|
|
|
goto outline_exception_1; |
|
|
|
// End of try: |
|
|
|
NUITKA_CANNOT_GET_HERE("Return statement must have exited already."); |
|
|
|
return NULL; |
|
|
|
outline_exception_1:; |
|
|
|
exception_lineno = 27; |
|
|
|
goto frame_exception_exit_1; |
|
|
|
outline_result_1:; |
|
|
|
assert(var_l == NULL); |
|
|
|
var_l = tmp_assign_source_1; |
|
|
|
} |
|
|
|
{ |
|
|
|
PyObject *tmp_tuple_element_1; |
|
PyObject *tmp_tuple_element_1; |
n |
CHECK_OBJECT(var_l); |
n |
|
|
tmp_tuple_element_1 = var_l; |
|
tmp_tuple_element_1 = mod_consts[1]; |
|
tmp_return_value = PyTuple_New(2); |
|
tmp_return_value = PyTuple_New(2); |
|
PyTuple_SET_ITEM0(tmp_return_value, 0, tmp_tuple_element_1); |
|
PyTuple_SET_ITEM0(tmp_return_value, 0, tmp_tuple_element_1); |
|
tmp_tuple_element_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]); |
|
tmp_tuple_element_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]); |
|
|
|
|
|
if (unlikely(tmp_tuple_element_1 == NULL)) { |
|
if (unlikely(tmp_tuple_element_1 == NULL)) { |