Construct CallCompiledObjectMethodPosArgsConstant6

Performance Diagrams

Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000260000000260000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)27546759188.11538461538461257.0CPython 2.787556097240.03846153846155425.57090500153083Nuitka (master)87556151391.96153846153845425.5708565594229Nuitka (develop)87556947543.8846153846154425.57014248686926Nuitka (factory)Construct CallCompiledObjectMethodPosArgsConstant6Ticks Construct CallCompiledObjectMethodPosArgsConstant6 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)25822422388.11538461538461257.0CPython 3.587061307240.03846153846155420.7994659363571Nuitka (master)87060456391.96153846153845420.8002803262306Nuitka (develop)87061725543.8846153846154420.7990659187694Nuitka (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 declarations of module constants used, if any. */ 33 /* The declarations of 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 extern PyObject *const_str_plain___module__; 38 extern PyObject *const_str_plain___module__;
40 static PyObject *const_str_plain_compiled_method; 39 static PyObject *const_str_plain_compiled_method;
41 extern PyObject *const_str_plain___class__; 40 extern PyObject *const_str_plain___class__;
42 static PyObject *const_str_digest_757227af6dac5c01686d3bbc7671f8bf; 41 static PyObject *const_str_digest_757227af6dac5c01686d3bbc7671f8bf;
n 43 static PyObject *const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple; n
44 static PyObject *const_tuple_str_plain___class___tuple; 42 static PyObject *const_tuple_str_plain___class___tuple;
45 static PyObject *const_str_plain___qualname__; 43 static PyObject *const_str_plain___qualname__;
46 static PyObject *const_str_plain_f; 44 static PyObject *const_str_plain_f;
n 47 static PyObject *const_str_plain_values; n
48 static PyObject *const_str_plain_object; 45 static PyObject *const_str_plain_object;
49 extern PyObject *const_str_plain___file__; 46 extern PyObject *const_str_plain___file__;
n 50 static PyObject *const_str_plain_other; n
51 extern PyObject *const_int_0; 47 extern PyObject *const_int_0;
n 52 static PyObject *const_str_plain_check; n
53 static PyObject *const_tuple_str_plain_C_tuple_type_object_tuple_tuple; 48 static PyObject *const_tuple_str_plain_C_tuple_type_object_tuple_tuple;
54 extern PyObject *const_str_plain_print; 49 extern PyObject *const_str_plain_print;
55 static PyObject *const_str_plain___prepare__; 50 static PyObject *const_str_plain___prepare__;
n 56 static PyObject *const_str_plain_call; n
57 static PyObject *const_str_plain_a; 51 static PyObject *const_str_plain_a;
58 static PyObject *const_int_pos_50000; 52 static PyObject *const_int_pos_50000;
59 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple; 53 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple;
n 60 static PyObject *const_str_plain_random; n
61 static PyObject *const_str_plain_self; 54 static PyObject *const_str_plain_self;
62 static PyObject *const_str_plain_inst; 55 static PyObject *const_str_plain_inst;
63 static PyObject *const_str_plain_e; 56 static PyObject *const_str_plain_e;
64 static PyObject *const_str_plain_calledRepeatedly; 57 static PyObject *const_str_plain_calledRepeatedly;
65 static PyObject *const_str_angle_module; 58 static PyObject *const_str_angle_module;
66 static PyObject *const_str_plain_None; 59 static PyObject *const_str_plain_None;
67 static PyObject *const_tuple_ba58284e993f645f647ff630deb3d552_tuple; 60 static PyObject *const_tuple_ba58284e993f645f647ff630deb3d552_tuple;
68 static PyObject *const_str_plain_x; 61 static PyObject *const_str_plain_x;
69 static PyObject *const_str_plain_C; 62 static PyObject *const_str_plain_C;
70 extern PyObject *const_tuple_empty; 63 extern PyObject *const_tuple_empty;
n n 64 static PyObject *const_str_plain_c;
71 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352; 65 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352;
n 72 static PyObject *const_str_plain_c; n
73 static PyObject *const_tuple_str_plain_inst_tuple; 66 static PyObject *const_tuple_str_plain_inst_tuple;
74 static PyObject *const_str_plain_repeat; 67 static PyObject *const_str_plain_repeat;
n 75 static PyObject *const_str_plain_some; n
76 static PyObject *const_str_plain_new;
77 static PyObject *const_tuple_none_int_pos_50000_tuple; 68 static PyObject *const_tuple_none_int_pos_50000_tuple;
78 extern PyObject *const_str_plain___main__; 69 extern PyObject *const_str_plain___main__;
n 79 static PyObject *const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple; n
80 extern PyObject *const_str_plain_type; 70 extern PyObject *const_str_plain_type;
n 81 static PyObject *const_tuple_ca2f155a28955fc472d4376e2721d689_tuple; n
82 static PyObject *const_str_plain_d; 71 static PyObject *const_str_plain_d;
83 static PyObject *const_str_digest_46aed675f1efa0b9b308c0b658ff64bd; 72 static PyObject *const_str_digest_46aed675f1efa0b9b308c0b658ff64bd;
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;
90 static bool constants_created = false; 79 static bool constants_created = false;
91 80
92 /* Function to create module private constants. */ 81 /* Function to create module private constants. */
93 static void createModuleConstants( void ) 82 static void createModuleConstants( void )
94 { 83 {
n 95     const_str_plain_to = UNSTREAM_STRING_ASCII( &constant_bin[ 0 ], 2, 1 ); n
96     const_str_plain_b = UNSTREAM_STRING_ASCII( &constant_bin[ 2 ], 1, 1 ); 84     const_str_plain_b = UNSTREAM_STRING_ASCII( &constant_bin[ 0 ], 1, 1 );
97     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 3 ], 9, 1 ); 85     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 1 ], 9, 1 );
98     const_tuple_type_object_tuple = PyTuple_New( 1 ); 86     const_tuple_type_object_tuple = PyTuple_New( 1 );
99     PyTuple_SET_ITEM( const_tuple_type_object_tuple, 0, (PyObject *)&PyBaseObject_Type ); Py_INCREF( (PyObject *)&PyBaseObject_Type ); 87     PyTuple_SET_ITEM( const_tuple_type_object_tuple, 0, (PyObject *)&PyBaseObject_Type ); Py_INCREF( (PyObject *)&PyBaseObject_Type );
n 100     const_str_plain_metaclass = UNSTREAM_STRING_ASCII( &constant_bin[ 12 ], 9, 1 ); n 88     const_str_plain_metaclass = UNSTREAM_STRING_ASCII( &constant_bin[ 10 ], 9, 1 );
101     const_str_plain_compiled_method = UNSTREAM_STRING_ASCII( &constant_bin[ 21 ], 15, 1 ); 89     const_str_plain_compiled_method = UNSTREAM_STRING_ASCII( &constant_bin[ 19 ], 15, 1 );
102     const_str_digest_757227af6dac5c01686d3bbc7671f8bf = UNSTREAM_STRING_ASCII( &constant_bin[ 36 ], 17, 0 ); 90     const_str_digest_757227af6dac5c01686d3bbc7671f8bf = UNSTREAM_STRING_ASCII( &constant_bin[ 34 ], 17, 0 );
103     const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple = PyTuple_New( 6 );
104     const_str_plain_some = UNSTREAM_STRING_ASCII( &constant_bin[ 53 ], 4, 1 );
105     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
106     const_str_plain_new = UNSTREAM_STRING_ASCII( &constant_bin[ 57 ], 3, 1 );
107     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 1, const_str_plain_new ); Py_INCREF( const_str_plain_new );
108     const_str_plain_values = UNSTREAM_STRING_ASCII( &constant_bin[ 60 ], 6, 1 );
109     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
110     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
111     const_str_plain_check = UNSTREAM_STRING_ASCII( &constant_bin[ 66 ], 5, 1 );
112     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
113     const_str_plain_call = UNSTREAM_STRING_ASCII( &constant_bin[ 71 ], 4, 1 );
114     PyTuple_SET_ITEM( const_tuple_4cee4124c8df2995a8a82b981e580f5e_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
115     const_tuple_str_plain___class___tuple = PyTuple_New( 1 ); 91     const_tuple_str_plain___class___tuple = PyTuple_New( 1 );
116     PyTuple_SET_ITEM( const_tuple_str_plain___class___tuple, 0, const_str_plain___class__ ); Py_INCREF( const_str_plain___class__ ); 92     PyTuple_SET_ITEM( const_tuple_str_plain___class___tuple, 0, const_str_plain___class__ ); Py_INCREF( const_str_plain___class__ );
n 117     const_str_plain___qualname__ = UNSTREAM_STRING_ASCII( &constant_bin[ 75 ], 12, 1 ); n 93     const_str_plain___qualname__ = UNSTREAM_STRING_ASCII( &constant_bin[ 51 ], 12, 1 );
118     const_str_plain_f = UNSTREAM_STRING_ASCII( &constant_bin[ 87 ], 1, 1 ); 94     const_str_plain_f = UNSTREAM_STRING_ASCII( &constant_bin[ 63 ], 1, 1 );
119     const_str_plain_object = UNSTREAM_STRING_ASCII( &constant_bin[ 88 ], 6, 1 ); 95     const_str_plain_object = UNSTREAM_STRING_ASCII( &constant_bin[ 64 ], 6, 1 );
120     const_str_plain_other = UNSTREAM_STRING_ASCII( &constant_bin[ 94 ], 5, 1 );
121     const_tuple_str_plain_C_tuple_type_object_tuple_tuple = PyTuple_New( 2 ); 96     const_tuple_str_plain_C_tuple_type_object_tuple_tuple = PyTuple_New( 2 );
n 122     const_str_plain_C = UNSTREAM_STRING_ASCII( &constant_bin[ 36 ], 1, 1 ); n 97     const_str_plain_C = UNSTREAM_STRING_ASCII( &constant_bin[ 34 ], 1, 1 );
123     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 0, const_str_plain_C ); Py_INCREF( const_str_plain_C ); 98     PyTuple_SET_ITEM( const_tuple_str_plain_C_tuple_type_object_tuple_tuple, 0, const_str_plain_C ); Py_INCREF( const_str_plain_C );
124     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 ); 99     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 125     const_str_plain___prepare__ = UNSTREAM_STRING_ASCII( &constant_bin[ 99 ], 11, 1 ); n 100     const_str_plain___prepare__ = UNSTREAM_STRING_ASCII( &constant_bin[ 70 ], 11, 1 );
126     const_str_plain_a = UNSTREAM_STRING_ASCII( &constant_bin[ 15 ], 1, 1 ); 101     const_str_plain_a = UNSTREAM_STRING_ASCII( &constant_bin[ 13 ], 1, 1 );
127     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul ); 102     const_int_pos_50000 = PyLong_FromUnsignedLong( 50000ul );
128     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 ); 103     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 );
n 129     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 110 ], 3, 0 ); n 104     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 81 ], 3, 0 );
130     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 ); 105     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF( const_str_digest_5ed1392909ad16e6227b8230f4582352 );
n 131     const_str_plain_random = UNSTREAM_STRING_ASCII( &constant_bin[ 113 ], 6, 1 ); n
132     const_str_plain_self = UNSTREAM_STRING_ASCII( &constant_bin[ 119 ], 4, 1 ); 106     const_str_plain_self = UNSTREAM_STRING_ASCII( &constant_bin[ 84 ], 4, 1 );
133     const_str_plain_inst = UNSTREAM_STRING_ASCII( &constant_bin[ 123 ], 4, 1 ); 107     const_str_plain_inst = UNSTREAM_STRING_ASCII( &constant_bin[ 88 ], 4, 1 );
134     const_str_plain_e = UNSTREAM_STRING_ASCII( &constant_bin[ 5 ], 1, 1 ); 108     const_str_plain_e = UNSTREAM_STRING_ASCII( &constant_bin[ 3 ], 1, 1 );
135     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 127 ], 16, 1 ); 109     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 92 ], 16, 1 );
136     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 143 ], 8, 0 ); 110     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 108 ], 8, 0 );
137     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 151 ], 4, 1 ); 111     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 116 ], 4, 1 );
138     const_tuple_ba58284e993f645f647ff630deb3d552_tuple = PyTuple_New( 7 ); 112     const_tuple_ba58284e993f645f647ff630deb3d552_tuple = PyTuple_New( 7 );
139     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self ); 113     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 0, const_str_plain_self ); Py_INCREF( const_str_plain_self );
140     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 1, const_str_plain_a ); Py_INCREF( const_str_plain_a ); 114     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 1, const_str_plain_a ); Py_INCREF( const_str_plain_a );
141     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 2, const_str_plain_b ); Py_INCREF( const_str_plain_b ); 115     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 2, const_str_plain_b ); Py_INCREF( const_str_plain_b );
n 142     const_str_plain_c = UNSTREAM_STRING_ASCII( &constant_bin[ 16 ], 1, 1 ); n 116     const_str_plain_c = UNSTREAM_STRING_ASCII( &constant_bin[ 14 ], 1, 1 );
143     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 3, const_str_plain_c ); Py_INCREF( const_str_plain_c ); 117     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 3, const_str_plain_c ); Py_INCREF( const_str_plain_c );
n 144     const_str_plain_d = UNSTREAM_STRING_ASCII( &constant_bin[ 28 ], 1, 1 ); n 118     const_str_plain_d = UNSTREAM_STRING_ASCII( &constant_bin[ 26 ], 1, 1 );
145     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 4, const_str_plain_d ); Py_INCREF( const_str_plain_d ); 119     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 4, const_str_plain_d ); Py_INCREF( const_str_plain_d );
146     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 5, const_str_plain_e ); Py_INCREF( const_str_plain_e ); 120     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 5, const_str_plain_e ); Py_INCREF( const_str_plain_e );
147     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 6, const_str_plain_f ); Py_INCREF( const_str_plain_f ); 121     PyTuple_SET_ITEM( const_tuple_ba58284e993f645f647ff630deb3d552_tuple, 6, const_str_plain_f ); Py_INCREF( const_str_plain_f );
n 148     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 155 ], 1, 1 ); n 122     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 120 ], 1, 1 );
149     const_tuple_str_plain_inst_tuple = PyTuple_New( 1 ); 123     const_tuple_str_plain_inst_tuple = PyTuple_New( 1 );
150     PyTuple_SET_ITEM( const_tuple_str_plain_inst_tuple, 0, const_str_plain_inst ); Py_INCREF( const_str_plain_inst ); 124     PyTuple_SET_ITEM( const_tuple_str_plain_inst_tuple, 0, const_str_plain_inst ); Py_INCREF( const_str_plain_inst );
n 151     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 156 ], 6, 1 ); n 125     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 121 ], 6, 1 );
152     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 ); 126     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 );
153     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None ); 127     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF( Py_None );
154     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 ); 128     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF( const_int_pos_50000 );
n 155     const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple = PyTuple_New( 6 ); n
156     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
157     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 1, const_str_plain_random ); Py_INCREF( const_str_plain_random );
158     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
159     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
160     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
161     PyTuple_SET_ITEM( const_tuple_78e2f1ad354bdb7db1a0fda186168ee0_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
162     const_tuple_ca2f155a28955fc472d4376e2721d689_tuple = PyTuple_New( 6 );
163     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 0, const_str_plain_some ); Py_INCREF( const_str_plain_some );
164     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 1, const_str_plain_other ); Py_INCREF( const_str_plain_other );
165     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 2, const_str_plain_values ); Py_INCREF( const_str_plain_values );
166     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 3, const_str_plain_to ); Py_INCREF( const_str_plain_to );
167     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 4, const_str_plain_check ); Py_INCREF( const_str_plain_check );
168     PyTuple_SET_ITEM( const_tuple_ca2f155a28955fc472d4376e2721d689_tuple, 5, const_str_plain_call ); Py_INCREF( const_str_plain_call );
169     const_str_digest_46aed675f1efa0b9b308c0b658ff64bd = UNSTREAM_STRING_ASCII( &constant_bin[ 162 ], 91, 0 ); 129     const_str_digest_46aed675f1efa0b9b308c0b658ff64bd = UNSTREAM_STRING_ASCII( &constant_bin[ 127 ], 91, 0 );
170     const_str_plain_print_function = UNSTREAM_STRING_ASCII( &constant_bin[ 253 ], 14, 1 ); 130     const_str_plain_print_function = UNSTREAM_STRING_ASCII( &constant_bin[ 218 ], 14, 1 );
171 131
172     constants_created = true; 132     constants_created = true;
173 } 133 }
174 134
175 /* Function to verify module private constants for non-corruption. */ 135 /* Function to verify module private constants for non-corruption. */
385             goto frame_exception_exit_1; 345             goto frame_exception_exit_1;
386         } 346         }
387         assert( var_inst == NULL ); 347         assert( var_inst == NULL );
388         var_inst = tmp_assign_source_1; 348         var_inst = tmp_assign_source_1;
389     } 349     }
n 390     { n
391         PyObject *tmp_called_instance_1;
392         PyObject *tmp_call_result_1;
393         CHECK_OBJECT( var_inst );
394         tmp_called_instance_1 = var_inst;
395         frame_bd4ed4201fb8640e796f77ad82e7044a->m_frame.f_lineno = 32;
396         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 ) );
397  
398         if ( tmp_call_result_1 == NULL )
399         {
400             assert( ERROR_OCCURRED() );
401  
402             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
403  
404  
405             exception_lineno = 32;
406             type_description_1 = "o";
407             goto frame_exception_exit_1;
408         }
409         Py_DECREF( tmp_call_result_1 );
410     }
411     {
412         PyObject *tmp_called_instance_2;
413         PyObject *tmp_call_result_2;
414         CHECK_OBJECT( var_inst );
415         tmp_called_instance_2 = var_inst;
416         frame_bd4ed4201fb8640e796f77ad82e7044a->m_frame.f_lineno = 33;
417         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 ) );
418  
419         if ( tmp_call_result_2 == NULL )
420         {
421             assert( ERROR_OCCURRED() );
422  
423             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
424  
425  
426             exception_lineno = 33;
427             type_description_1 = "o";
428             goto frame_exception_exit_1;
429         }
430         Py_DECREF( tmp_call_result_2 );
431     }
432     {
433         PyObject *tmp_called_instance_3;
434         PyObject *tmp_call_result_3;
435         CHECK_OBJECT( var_inst );
436         tmp_called_instance_3 = var_inst;
437         frame_bd4ed4201fb8640e796f77ad82e7044a->m_frame.f_lineno = 34;
438         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 ) );
439  
440         if ( tmp_call_result_3 == NULL )
441         {
442             assert( ERROR_OCCURRED() );
443  
444             FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
445  
446  
447             exception_lineno = 34;
448             type_description_1 = "o";
449             goto frame_exception_exit_1;
450         }
451         Py_DECREF( tmp_call_result_3 );
452     }
453 350
454 #if 0 351 #if 0
455     RESTORE_FRAME_EXCEPTION( frame_bd4ed4201fb8640e796f77ad82e7044a ); 352     RESTORE_FRAME_EXCEPTION( frame_bd4ed4201fb8640e796f77ad82e7044a );
456 #endif 353 #endif
457 354
520     exception_keeper_lineno_1 = exception_lineno; 417     exception_keeper_lineno_1 = exception_lineno;
521     exception_type = NULL; 418     exception_type = NULL;
522     exception_value = NULL; 419     exception_value = NULL;
523     exception_tb = NULL; 420     exception_tb = NULL;
524     exception_lineno = 0; 421     exception_lineno = 0;
t 525   t
526     Py_XDECREF( var_inst );
527     var_inst = NULL;
528 422
529     // Re-raise. 423     // Re-raise.
530     exception_type = exception_keeper_type_1; 424     exception_type = exception_keeper_type_1;
531     exception_value = exception_keeper_value_1; 425     exception_value = exception_keeper_value_1;
532     exception_tb = exception_keeper_tb_1; 426     exception_tb = exception_keeper_tb_1;