Construct CallCompiledObjectMethodPosArgsConstant6

Performance Diagrams

Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000260000000260000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)27696912588.11538461538461257.0CPython 2.788457233240.03846153846155425.19271352412966Nuitka (master)87555699391.96153846153845425.99707365327345Nuitka (develop)87556283543.8846153846154425.9965526010276Nuitka (factory)Construct CallCompiledObjectMethodPosArgsConstant6Ticks Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)25642441088.11538461538461257.0CPython 3.587964848240.03846153846155419.34394165426465Nuitka (master)87060356391.96153846153845420.2155977047223Nuitka (develop)87066902543.8846153846154420.2092893454374Nuitka (factory)Construct CallCompiledObjectMethodPosArgsConstant6Ticks

Source Code with Construct

from __future__ import print_function

class C(object):
    def compiled_method(self, a,b,c,d,e,f):
        return a, b, c, d, e, f

def calledRepeatedly():
    inst = C()

    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
# construct_begin
    inst.compiled_method("some", "random", "values", "to", "check", "call")
    inst.compiled_method("some", "other", "values", "to", "check", "call")
    inst.compiled_method("some", "new", "values", "to", "check", "call")

# construct_alternative



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

print("OK.")

Source Code without Construct

from __future__ import print_function

class C(object):
    def compiled_method(self, a,b,c,d,e,f):
        return a, b, c, d, e, f

def calledRepeatedly():
    inst = C()

    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
# construct_begin




# construct_alternative
    pass
# construct_end

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

print("OK.")

Context Diff of Source Code


Construct
Baseline
27     inst = C() 27     inst = C()
28 28
29     # This is supposed to make a call to a non-compiled function, which is 29     # This is supposed to make a call to a non-compiled function, which is
30     # being optimized separately. 30     # being optimized separately.
31 # construct_begin 31 # construct_begin
n 32     inst.compiled_method("some", "random", "values", "to", "check", "call") n 32  
33     inst.compiled_method("some", "other", "values", "to", "check", "call") 33  
34     inst.compiled_method("some", "new", "values", "to", "check", "call") 34  
35 35
36 # construct_alternative 36 # construct_alternative
t 37   t 37     pass
38   38 # construct_end
39 39
40 import itertools 40 import itertools
41 for x in itertools.repeat(None, 50000): 41 for x in itertools.repeat(None, 50000):
42     calledRepeatedly() 42     calledRepeatedly()
43 43

Context Diff of Generated Code


Construct
Baseline
29 29
30 PyObject *module___main__; 30 PyObject *module___main__;
31 PyDictObject *moduledict___main__; 31 PyDictObject *moduledict___main__;
32 32
33 /* The module constants used, if any. */ 33 /* The module constants used, if any. */
n 34 static PyObject *const_str_plain_to; n
35 static PyObject *const_str_plain_b; 34 static PyObject *const_str_plain_b;
36 static PyObject *const_str_plain_itertools; 35 static PyObject *const_str_plain_itertools;
37 static PyObject *const_tuple_type_object_tuple; 36 static PyObject *const_tuple_type_object_tuple;
38 static PyObject *const_str_plain_metaclass; 37 static PyObject *const_str_plain_metaclass;
39 static PyObject *const_str_digest_1c916651de37a5afd86a7df5a2d6ac0c; 38 static PyObject *const_str_digest_1c916651de37a5afd86a7df5a2d6ac0c;
40 extern PyObject *const_str_plain___module__; 39 extern PyObject *const_str_plain___module__;
41 static PyObject *const_str_plain_compiled_method; 40 static PyObject *const_str_plain_compiled_method;
42 extern PyObject *const_str_plain___class__; 41 extern PyObject *const_str_plain___class__;
43 static PyObject *const_str_digest_757227af6dac5c01686d3bbc7671f8bf; 42 static PyObject *const_str_digest_757227af6dac5c01686d3bbc7671f8bf;
n 44 static PyObject *const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple; n
45 static PyObject *const_tuple_str_plain___class___tuple; 43 static PyObject *const_tuple_str_plain___class___tuple;
46 static PyObject *const_str_plain___qualname__; 44 static PyObject *const_str_plain___qualname__;
47 static PyObject *const_str_plain_f; 45 static PyObject *const_str_plain_f;
n 48 static PyObject *const_str_plain_values; n
49 static PyObject *const_str_plain_object; 46 static PyObject *const_str_plain_object;
50 extern PyObject *const_str_plain___file__; 47 extern PyObject *const_str_plain___file__;
n 51 static PyObject *const_str_plain_other; n
52 extern PyObject *const_int_0; 48 extern PyObject *const_int_0;
n 53 static PyObject *const_str_plain_check; n
54 static PyObject *const_tuple_str_plain_C_tuple_type_object_tuple_tuple; 49 static PyObject *const_tuple_str_plain_C_tuple_type_object_tuple_tuple;
55 extern PyObject *const_str_plain_print; 50 extern PyObject *const_str_plain_print;
56 static PyObject *const_str_plain___prepare__; 51 static PyObject *const_str_plain___prepare__;
n 57 static PyObject *const_str_plain_call; n
58 static PyObject *const_str_plain_a; 52 static PyObject *const_str_plain_a;
59 static PyObject *const_int_pos_50000; 53 static PyObject *const_int_pos_50000;
60 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple; 54 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple;
n 61 static PyObject *const_str_plain_random; n
62 static PyObject *const_str_plain_self; 55 static PyObject *const_str_plain_self;
63 static PyObject *const_str_plain_inst; 56 static PyObject *const_str_plain_inst;
64 static PyObject *const_str_plain_e; 57 static PyObject *const_str_plain_e;
65 static PyObject *const_str_plain_calledRepeatedly; 58 static PyObject *const_str_plain_calledRepeatedly;
66 static PyObject *const_str_angle_module; 59 static PyObject *const_str_angle_module;
67 static PyObject *const_str_plain_None; 60 static PyObject *const_str_plain_None;
68 static PyObject *const_tuple_ba58284e993f645f647ff630deb3d552_tuple; 61 static PyObject *const_tuple_ba58284e993f645f647ff630deb3d552_tuple;
69 static PyObject *const_str_plain_x; 62 static PyObject *const_str_plain_x;
70 static PyObject *const_str_plain_C; 63 static PyObject *const_str_plain_C;
71 extern PyObject *const_tuple_empty; 64 extern PyObject *const_tuple_empty;
n n 65 static PyObject *const_str_plain_c;
72 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352; 66 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352;
n 73 static PyObject *const_str_plain_c; n
74 static PyObject *const_tuple_str_plain_inst_tuple; 67 static PyObject *const_tuple_str_plain_inst_tuple;
75 static PyObject *const_str_plain_repeat; 68 static PyObject *const_str_plain_repeat;
n 76 static PyObject *const_str_plain_some; n
77 static PyObject *const_str_plain_new;
78 static PyObject *const_tuple_none_int_pos_50000_tuple; 69 static PyObject *const_tuple_none_int_pos_50000_tuple;
79 extern PyObject *const_str_plain___main__; 70 extern PyObject *const_str_plain___main__;
n 80 static PyObject *const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple; n
81 extern PyObject *const_str_plain_type; 71 extern PyObject *const_str_plain_type;
n 82 static PyObject *const_tuple_ca2f155a28955fc472d4376e2721d689_tuple; n
83 static PyObject *const_str_plain_d; 72 static PyObject *const_str_plain_d;
84 extern PyObject *const_str_plain___doc__; 73 extern PyObject *const_str_plain___doc__;
85 extern PyObject *const_str_plain___cached__; 74 extern PyObject *const_str_plain___cached__;
86 static PyObject *const_str_plain_print_function; 75 static PyObject *const_str_plain_print_function;
87 static PyObject *module_filename_obj; 76 static PyObject *module_filename_obj;
88 77
89 static bool constants_created = false; 78 static bool constants_created = false;
90 79
91 static void createModuleConstants( void ) 80 static void createModuleConstants( void )
92 { 81 {
n 93     const_str_plain_to = UNSTREAM_STRING_ASCII( &constant_bin[ 0 ], 2, 1 ); n
94     const_str_plain_b = UNSTREAM_STRING_ASCII( &constant_bin[ 2 ], 1, 1 ); 82     const_str_plain_b = UNSTREAM_STRING_ASCII( &constant_bin[ 0 ], 1, 1 );
95     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 3 ], 9, 1 ); 83     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 1 ], 9, 1 );
96     const_tuple_type_object_tuple = PyTuple_New( 1 ); 84     const_tuple_type_object_tuple = PyTuple_New( 1 );
97     PyTuple_SET_ITEM( const_tuple_type_object_tuple, 0, (PyObject *)&PyBaseObject_Type ); Py_INCREF( (PyObject *)&PyBaseObject_Type ); 85     PyTuple_SET_ITEM( const_tuple_type_object_tuple, 0, (PyObject *)&PyBaseObject_Type ); Py_INCREF( (PyObject *)&PyBaseObject_Type );
n 98     const_str_plain_metaclass = UNSTREAM_STRING_ASCII( &constant_bin[ 12 ], 9, 1 ); n 86     const_str_plain_metaclass = UNSTREAM_STRING_ASCII( &constant_bin[ 10 ], 9, 1 );
99     const_str_digest_1c916651de37a5afd86a7df5a2d6ac0c = UNSTREAM_STRING_ASCII( &constant_bin[ 21 ], 91, 0 ); 87     const_str_digest_1c916651de37a5afd86a7df5a2d6ac0c = UNSTREAM_STRING_ASCII( &constant_bin[ 19 ], 91, 0 );
100     const_str_plain_compiled_method = UNSTREAM_STRING_ASCII( &constant_bin[ 112 ], 15, 1 ); 88     const_str_plain_compiled_method = UNSTREAM_STRING_ASCII( &constant_bin[ 110 ], 15, 1 );
101     const_str_digest_757227af6dac5c01686d3bbc7671f8bf = UNSTREAM_STRING_ASCII( &constant_bin[ 127 ], 17, 0 ); 89     const_str_digest_757227af6dac5c01686d3bbc7671f8bf = UNSTREAM_STRING_ASCII( &constant_bin[ 125 ], 17, 0 );
102     const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple = PyTuple_New( 6 );
103     const_str_plain_some = UNSTREAM_STRING_ASCII( &constant_bin[ 144 ], 4, 1 );
104     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
105     const_str_plain_new = UNSTREAM_STRING_ASCII( &constant_bin[ 148 ], 3, 1 );
106     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 1, const_str_plain_new ); Py_INCREF( const_str_plain_new );
107     const_str_plain_values = UNSTREAM_STRING_ASCII( &constant_bin[ 151 ], 6, 1 );
108     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
109     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
110     const_str_plain_check = UNSTREAM_STRING_ASCII( &constant_bin[ 157 ], 5, 1 );
111     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
112     const_str_plain_call = UNSTREAM_STRING_ASCII( &constant_bin[ 162 ], 4, 1 );
113     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
114     const_tuple_str_plain___class___tuple = PyTuple_New( 1 ); 90     const_tuple_str_plain___class___tuple = PyTuple_New( 1 );
115     PyTuple_SET_ITEM( const_tuple_str_plain___class___tuple, 0, const_str_plain___class__ ); Py_INCREF( const_str_plain___class__ ); 91     PyTuple_SET_ITEM( const_tuple_str_plain___class___tuple, 0, const_str_plain___class__ ); Py_INCREF( const_str_plain___class__ );
n 116     const_str_plain___qualname__ = UNSTREAM_STRING_ASCII( &constant_bin[ 166 ], 12, 1 ); n 92     const_str_plain___qualname__ = UNSTREAM_STRING_ASCII( &constant_bin[ 142 ], 12, 1 );
117     const_str_plain_f = UNSTREAM_STRING_ASCII( &constant_bin[ 178 ], 1, 1 ); 93     const_str_plain_f = UNSTREAM_STRING_ASCII( &constant_bin[ 154 ], 1, 1 );
118     const_str_plain_object = UNSTREAM_STRING_ASCII( &constant_bin[ 179 ], 6, 1 ); 94     const_str_plain_object = UNSTREAM_STRING_ASCII( &constant_bin[ 155 ], 6, 1 );
119     const_str_plain_other = UNSTREAM_STRING_ASCII( &constant_bin[ 185 ], 5, 1 );
120     const_tuple_str_plain_C_tuple_type_object_tuple_tuple = PyTuple_New( 2 ); 95     const_tuple_str_plain_C_tuple_type_object_tuple_tuple = PyTuple_New( 2 );
n 121     const_str_plain_C = UNSTREAM_STRING_ASCII( &constant_bin[ 69 ], 1, 1 ); n 96     const_str_plain_C = UNSTREAM_STRING_ASCII( &constant_bin[ 67 ], 1, 1 );
122     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 0, const_str_plain_C ); Py_INCREF( const_str_plain_C ); 97     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 0, const_str_plain_C ); Py_INCREF( const_str_plain_C );
123     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 1, const_tuple_type_object_tuple ); Py_INCREF( const_tuple_type_object_tuple ); 98     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 1, const_tuple_type_object_tuple ); Py_INCREF( const_tuple_type_object_tuple );
n 124     const_str_plain___prepare__ = UNSTREAM_STRING_ASCII( &constant_bin[ 190 ], 11, 1 ); n 99     const_str_plain___prepare__ = UNSTREAM_STRING_ASCII( &constant_bin[ 161 ], 11, 1 );
125     const_str_plain_a = UNSTREAM_STRING_ASCII( &constant_bin[ 15 ], 1, 1 ); 100     const_str_plain_a = UNSTREAM_STRING_ASCII( &constant_bin[ 13 ], 1, 1 );
126     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul ); 101     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul );
127     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 ); 102     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 );
n 128     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 201 ], 3, 0 ); n 103     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 172 ], 3, 0 );
129     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 ); 104     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 );
n 130     const_str_plain_random = UNSTREAM_STRING_ASCII( &constant_bin[ 204 ], 6, 1 ); n
131     const_str_plain_self = UNSTREAM_STRING_ASCII( &constant_bin[ 210 ], 4, 1 ); 105     const_str_plain_self = UNSTREAM_STRING_ASCII( &constant_bin[ 175 ], 4, 1 );
132     const_str_plain_inst = UNSTREAM_STRING_ASCII( &constant_bin[ 214 ], 4, 1 ); 106     const_str_plain_inst = UNSTREAM_STRING_ASCII( &constant_bin[ 179 ], 4, 1 );
133     const_str_plain_e = UNSTREAM_STRING_ASCII( &constant_bin[ 5 ], 1, 1 ); 107     const_str_plain_e = UNSTREAM_STRING_ASCII( &constant_bin[ 3 ], 1, 1 );
134     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 218 ], 16, 1 ); 108     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 183 ], 16, 1 );
135     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 234 ], 8, 0 ); 109     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 199 ], 8, 0 );
136     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 242 ], 4, 1 ); 110     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 207 ], 4, 1 );
137     const_tuple_ba58284e993f645f647ff630deb3d552_tuple = PyTuple_New( 7 ); 111     const_tuple_ba58284e993f645f647ff630deb3d552_tuple = PyTuple_New( 7 );
138     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self ); 112     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
139     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 1, const_str_plain_a ); Py_INCREF( const_str_plain_a ); 113     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 1, const_str_plain_a ); Py_INCREF( const_str_plain_a );
140     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 2, const_str_plain_b ); Py_INCREF( const_str_plain_b ); 114     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 2, const_str_plain_b ); Py_INCREF( const_str_plain_b );
n 141     const_str_plain_c = UNSTREAM_STRING_ASCII( &constant_bin[ 16 ], 1, 1 ); n 115     const_str_plain_c = UNSTREAM_STRING_ASCII( &constant_bin[ 14 ], 1, 1 );
142     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 3, const_str_plain_c ); Py_INCREF( const_str_plain_c ); 116     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 3, const_str_plain_c ); Py_INCREF( const_str_plain_c );
n 143     const_str_plain_d = UNSTREAM_STRING_ASCII( &constant_bin[ 26 ], 1, 1 ); n 117     const_str_plain_d = UNSTREAM_STRING_ASCII( &constant_bin[ 24 ], 1, 1 );
144     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 4, const_str_plain_d ); Py_INCREF( const_str_plain_d ); 118     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 4, const_str_plain_d ); Py_INCREF( const_str_plain_d );
145     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 5, const_str_plain_e ); Py_INCREF( const_str_plain_e ); 119     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 5, const_str_plain_e ); Py_INCREF( const_str_plain_e );
146     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 6, const_str_plain_f ); Py_INCREF( const_str_plain_f ); 120     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 6, const_str_plain_f ); Py_INCREF( const_str_plain_f );
n 147     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 46 ], 1, 1 ); n 121     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 44 ], 1, 1 );
148     const_tuple_str_plain_inst_tuple = PyTuple_New( 1 ); 122     const_tuple_str_plain_inst_tuple = PyTuple_New( 1 );
149     PyTuple_SET_ITEM( const_tuple_str_plain_inst_tuple, 0, const_str_plain_inst ); Py_INCREF( const_str_plain_inst ); 123     PyTuple_SET_ITEM( const_tuple_str_plain_inst_tuple, 0, const_str_plain_inst ); Py_INCREF( const_str_plain_inst );
n 150     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 246 ], 6, 1 ); n 124     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 211 ], 6, 1 );
151     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 ); 125     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 );
152     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None ); 126     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None );
153     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 ); 127     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 );
n 154     const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple = PyTuple_New( 6 ); n
155     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
156     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 1, const_str_plain_random ); Py_INCREF( const_str_plain_random );
157     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
158     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
159     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
160     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
161     const_tuple_ca2f155a28955fc472d4376e2721d689_tuple = PyTuple_New( 6 );
162     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
163     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 1, const_str_plain_other ); Py_INCREF( const_str_plain_other );
164     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
165     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
166     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
167     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
168     const_str_plain_print_function = UNSTREAM_STRING_ASCII( &constant_bin[ 252 ], 14, 1 ); 128     const_str_plain_print_function = UNSTREAM_STRING_ASCII( &constant_bin[ 217 ], 14, 1 );
169 129
170     constants_created = true; 130     constants_created = true;
171 } 131 }
172 132
173 #ifndef __NUITKA_NO_ASSERT__ 133 #ifndef __NUITKA_NO_ASSERT__
398     } 358     }
399     assert( var_inst == NULL ); 359     assert( var_inst == NULL );
400     var_inst = tmp_assign_source_1; 360     var_inst = tmp_assign_source_1;
401 361
402     } 362     }
n 403     { n
404     PyObject *tmp_called_instance_1;
405     PyObject *tmp_call_result_1;
406     CHECK_OBJECT( var_inst );
407     tmp_called_instance_1 = var_inst;
408     frame_7337f237f5a734b2676c5d8f562def70->m_frame.f_lineno = 32;
409     tmp_call_result_1 = CALL_METHOD_WITH_ARGS6( tmp_called_instance_1, const_str_plain_compiled_method, &PyTuple_GET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 0 ) );
410  
411     if ( tmp_call_result_1 == NULL )
412     {
413         assert( ERROR_OCCURRED() );
414  
415         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
416  
417  
418         exception_lineno = 32;
419         type_description_1 = "o";
420         goto frame_exception_exit_1;
421     }
422     Py_DECREF( tmp_call_result_1 );
423     }
424     {
425     PyObject *tmp_called_instance_2;
426     PyObject *tmp_call_result_2;
427     CHECK_OBJECT( var_inst );
428     tmp_called_instance_2 = var_inst;
429     frame_7337f237f5a734b2676c5d8f562def70->m_frame.f_lineno = 33;
430     tmp_call_result_2 = CALL_METHOD_WITH_ARGS6( tmp_called_instance_2, const_str_plain_compiled_method, &PyTuple_GET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 0 ) );
431  
432     if ( tmp_call_result_2 == NULL )
433     {
434         assert( ERROR_OCCURRED() );
435  
436         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
437  
438  
439         exception_lineno = 33;
440         type_description_1 = "o";
441         goto frame_exception_exit_1;
442     }
443     Py_DECREF( tmp_call_result_2 );
444     }
445     {
446     PyObject *tmp_called_instance_3;
447     PyObject *tmp_call_result_3;
448     CHECK_OBJECT( var_inst );
449     tmp_called_instance_3 = var_inst;
450     frame_7337f237f5a734b2676c5d8f562def70->m_frame.f_lineno = 34;
451     tmp_call_result_3 = CALL_METHOD_WITH_ARGS6( tmp_called_instance_3, const_str_plain_compiled_method, &PyTuple_GET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 0 ) );
452  
453     if ( tmp_call_result_3 == NULL )
454     {
455         assert( ERROR_OCCURRED() );
456  
457         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
458  
459  
460         exception_lineno = 34;
461         type_description_1 = "o";
462         goto frame_exception_exit_1;
463     }
464     Py_DECREF( tmp_call_result_3 );
465     }
466 363
467 #if 0 364 #if 0
468     RESTORE_FRAME_EXCEPTION( frame_7337f237f5a734b2676c5d8f562def70 ); 365     RESTORE_FRAME_EXCEPTION( frame_7337f237f5a734b2676c5d8f562def70 );
469 #endif 366 #endif
470 367
540     exception_type = NULL; 437     exception_type = NULL;
541     exception_value = NULL; 438     exception_value = NULL;
542     exception_tb = NULL; 439     exception_tb = NULL;
543     exception_lineno = 0; 440     exception_lineno = 0;
544 441
t 545     { t
546     Py_XDECREF( var_inst );
547     var_inst = NULL;
548  
549     }
550     { 442     {
551     // Re-raise. 443     // Re-raise.
552     exception_type = exception_keeper_type_1; 444     exception_type = exception_keeper_type_1;
553     exception_value = exception_keeper_value_1; 445     exception_value = exception_keeper_value_1;
554     exception_tb = exception_keeper_tb_1; 446     exception_tb = exception_keeper_tb_1;