Construct CallCompiledObjectMethodPosArgsVariable

Performance Diagrams

Construct CallCompiledObjectMethodPosArgsVariable 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000260000000260000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)27697144888.11538461538461257.0CPython 2.789501120240.03846153846155424.26201398092235Nuitka (master)89501150391.96153846153845424.26198721476436Nuitka (develop)89501144543.8846153846154424.26199256799595Nuitka (factory)Construct CallCompiledObjectMethodPosArgsVariableTicks Construct CallCompiledObjectMethodPosArgsVariable 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)25731160388.11538461538461257.0CPython 3.598846404240.03846153846155409.1858639193914Nuitka (master)98856807391.96153846153845409.17587314821674Nuitka (develop)98855885543.8846153846154409.17675861308487Nuitka (factory)Construct CallCompiledObjectMethodPosArgsVariableTicks

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 getUnknownValue():
    return 8

def calledRepeatedly():
    a = getUnknownValue()
    b = getUnknownValue()
    c = getUnknownValue()
    d = getUnknownValue()
    e = getUnknownValue()
    f = getUnknownValue()

    inst = C()

    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
# construct_begin
    inst.compiled_method(a, b, c, d, e, f)
    inst.compiled_method(a, c, b, d, e, f)
    inst.compiled_method(a, b, c, d, f, e)
# 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 getUnknownValue():
    return 8

def calledRepeatedly():
    a = getUnknownValue()
    b = getUnknownValue()
    c = getUnknownValue()
    d = getUnknownValue()
    e = getUnknownValue()
    f = getUnknownValue()

    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
37     inst = C() 37     inst = C()
38 38
39     # This is supposed to make a call to a non-compiled function, which is 39     # This is supposed to make a call to a non-compiled function, which is
40     # being optimized separately. 40     # being optimized separately.
41 # construct_begin 41 # construct_begin
n 42     inst.compiled_method(a, b, c, d, e, f) n
43     inst.compiled_method(a, c, b, d, e, f)
44     inst.compiled_method(a, b, c, d, f, e)
45 # construct_alternative
46 42
47 43
t t 44  
45 # construct_alternative
46     pass
47 # construct_end
48 48
49 import itertools 49 import itertools
50 for x in itertools.repeat(None, 50000): 50 for x in itertools.repeat(None, 50000):
51     calledRepeatedly() 51     calledRepeatedly()
52 52

Context Diff of Generated Code


Construct
Baseline
345     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 345     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
346     PyObject *exception_type = NULL; 346     PyObject *exception_type = NULL;
347     PyObject *exception_value = NULL; 347     PyObject *exception_value = NULL;
348     PyTracebackObject *exception_tb = NULL; 348     PyTracebackObject *exception_tb = NULL;
349     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 349     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 350     NUITKA_MAY_BE_UNUSED PyObject *tmp_unused; n
351     static struct Nuitka_FrameObject *cache_frame_d28c19ff7efae7989b15b57a59b54859 = NULL; 350     static struct Nuitka_FrameObject *cache_frame_d28c19ff7efae7989b15b57a59b54859 = NULL;
352     PyObject *tmp_return_value = NULL; 351     PyObject *tmp_return_value = NULL;
353     PyObject *exception_keeper_type_1; 352     PyObject *exception_keeper_type_1;
354     PyObject *exception_keeper_value_1; 353     PyObject *exception_keeper_value_1;
355     PyTracebackObject *exception_keeper_tb_1; 354     PyTracebackObject *exception_keeper_tb_1;
659         goto frame_exception_exit_1; 658         goto frame_exception_exit_1;
660     } 659     }
661     assert( var_inst == NULL ); 660     assert( var_inst == NULL );
662     var_inst = tmp_assign_source_7; 661     var_inst = tmp_assign_source_7;
663 662
n 664     } n
665     {
666     PyObject *tmp_called_name_8;
667     PyObject *tmp_source_name_1;
668     PyObject *tmp_args_element_name_1;
669     PyObject *tmp_args_element_name_2;
670     PyObject *tmp_args_element_name_3;
671     PyObject *tmp_args_element_name_4;
672     PyObject *tmp_args_element_name_5;
673     PyObject *tmp_args_element_name_6;
674     tmp_source_name_1 = var_inst;
675  
676     CHECK_OBJECT( tmp_source_name_1 );
677     tmp_called_name_8 = LOOKUP_ATTRIBUTE( tmp_source_name_1, const_str_plain_compiled_method );
678     if ( tmp_called_name_8 == NULL )
679     {
680         assert( ERROR_OCCURRED() );
681  
682         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
683  
684  
685         exception_lineno = 42;
686         type_description_1 = "ooooooo";
687         goto frame_exception_exit_1;
688     }
689     tmp_args_element_name_1 = var_a;
690  
691     if ( tmp_args_element_name_1 == NULL )
692     {
693         Py_DECREF( tmp_called_name_8 );
694         exception_type = PyExc_UnboundLocalError;
695         Py_INCREF( exception_type );
696         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "a" );
697         exception_tb = NULL;
698         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
699         CHAIN_EXCEPTION( exception_value );
700  
701         exception_lineno = 42;
702         type_description_1 = "ooooooo";
703         goto frame_exception_exit_1;
704     }
705  
706     tmp_args_element_name_2 = var_b;
707  
708     if ( tmp_args_element_name_2 == NULL )
709     {
710         Py_DECREF( tmp_called_name_8 );
711         exception_type = PyExc_UnboundLocalError;
712         Py_INCREF( exception_type );
713         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
714         exception_tb = NULL;
715         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
716         CHAIN_EXCEPTION( exception_value );
717  
718         exception_lineno = 42;
719         type_description_1 = "ooooooo";
720         goto frame_exception_exit_1;
721     }
722  
723     tmp_args_element_name_3 = var_c;
724  
725     if ( tmp_args_element_name_3 == NULL )
726     {
727         Py_DECREF( tmp_called_name_8 );
728         exception_type = PyExc_UnboundLocalError;
729         Py_INCREF( exception_type );
730         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "c" );
731         exception_tb = NULL;
732         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
733         CHAIN_EXCEPTION( exception_value );
734  
735         exception_lineno = 42;
736         type_description_1 = "ooooooo";
737         goto frame_exception_exit_1;
738     }
739  
740     tmp_args_element_name_4 = var_d;
741  
742     if ( tmp_args_element_name_4 == NULL )
743     {
744         Py_DECREF( tmp_called_name_8 );
745         exception_type = PyExc_UnboundLocalError;
746         Py_INCREF( exception_type );
747         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "d" );
748         exception_tb = NULL;
749         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
750         CHAIN_EXCEPTION( exception_value );
751  
752         exception_lineno = 42;
753         type_description_1 = "ooooooo";
754         goto frame_exception_exit_1;
755     }
756  
757     tmp_args_element_name_5 = var_e;
758  
759     if ( tmp_args_element_name_5 == NULL )
760     {
761         Py_DECREF( tmp_called_name_8 );
762         exception_type = PyExc_UnboundLocalError;
763         Py_INCREF( exception_type );
764         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "e" );
765         exception_tb = NULL;
766         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
767         CHAIN_EXCEPTION( exception_value );
768  
769         exception_lineno = 42;
770         type_description_1 = "ooooooo";
771         goto frame_exception_exit_1;
772     }
773  
774     tmp_args_element_name_6 = var_f;
775  
776     if ( tmp_args_element_name_6 == NULL )
777     {
778         Py_DECREF( tmp_called_name_8 );
779         exception_type = PyExc_UnboundLocalError;
780         Py_INCREF( exception_type );
781         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "f" );
782         exception_tb = NULL;
783         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
784         CHAIN_EXCEPTION( exception_value );
785  
786         exception_lineno = 42;
787         type_description_1 = "ooooooo";
788         goto frame_exception_exit_1;
789     }
790  
791     frame_d28c19ff7efae7989b15b57a59b54859->m_frame.f_lineno = 42;
792     {
793         PyObject *call_args[] = { tmp_args_element_name_1, tmp_args_element_name_2, tmp_args_element_name_3, tmp_args_element_name_4, tmp_args_element_name_5, tmp_args_element_name_6 };
794         tmp_unused = CALL_FUNCTION_WITH_ARGS6( tmp_called_name_8, call_args );
795     }
796  
797     Py_DECREF( tmp_called_name_8 );
798     if ( tmp_unused == NULL )
799     {
800         assert( ERROR_OCCURRED() );
801  
802         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
803  
804  
805         exception_lineno = 42;
806         type_description_1 = "ooooooo";
807         goto frame_exception_exit_1;
808     }
809     Py_DECREF( tmp_unused );
810     }
811     {
812     PyObject *tmp_called_name_9;
813     PyObject *tmp_source_name_2;
814     PyObject *tmp_args_element_name_7;
815     PyObject *tmp_args_element_name_8;
816     PyObject *tmp_args_element_name_9;
817     PyObject *tmp_args_element_name_10;
818     PyObject *tmp_args_element_name_11;
819     PyObject *tmp_args_element_name_12;
820     tmp_source_name_2 = var_inst;
821  
822     if ( tmp_source_name_2 == NULL )
823     {
824  
825         exception_type = PyExc_UnboundLocalError;
826         Py_INCREF( exception_type );
827         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "inst" );
828         exception_tb = NULL;
829         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
830         CHAIN_EXCEPTION( exception_value );
831  
832         exception_lineno = 43;
833         type_description_1 = "ooooooo";
834         goto frame_exception_exit_1;
835     }
836  
837     tmp_called_name_9 = LOOKUP_ATTRIBUTE( tmp_source_name_2, const_str_plain_compiled_method );
838     if ( tmp_called_name_9 == NULL )
839     {
840         assert( ERROR_OCCURRED() );
841  
842         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
843  
844  
845         exception_lineno = 43;
846         type_description_1 = "ooooooo";
847         goto frame_exception_exit_1;
848     }
849     tmp_args_element_name_7 = var_a;
850  
851     if ( tmp_args_element_name_7 == NULL )
852     {
853         Py_DECREF( tmp_called_name_9 );
854         exception_type = PyExc_UnboundLocalError;
855         Py_INCREF( exception_type );
856         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "a" );
857         exception_tb = NULL;
858         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
859         CHAIN_EXCEPTION( exception_value );
860  
861         exception_lineno = 43;
862         type_description_1 = "ooooooo";
863         goto frame_exception_exit_1;
864     }
865  
866     tmp_args_element_name_8 = var_c;
867  
868     if ( tmp_args_element_name_8 == NULL )
869     {
870         Py_DECREF( tmp_called_name_9 );
871         exception_type = PyExc_UnboundLocalError;
872         Py_INCREF( exception_type );
873         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "c" );
874         exception_tb = NULL;
875         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
876         CHAIN_EXCEPTION( exception_value );
877  
878         exception_lineno = 43;
879         type_description_1 = "ooooooo";
880         goto frame_exception_exit_1;
881     }
882  
883     tmp_args_element_name_9 = var_b;
884  
885     if ( tmp_args_element_name_9 == NULL )
886     {
887         Py_DECREF( tmp_called_name_9 );
888         exception_type = PyExc_UnboundLocalError;
889         Py_INCREF( exception_type );
890         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
891         exception_tb = NULL;
892         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
893         CHAIN_EXCEPTION( exception_value );
894  
895         exception_lineno = 43;
896         type_description_1 = "ooooooo";
897         goto frame_exception_exit_1;
898     }
899  
900     tmp_args_element_name_10 = var_d;
901  
902     if ( tmp_args_element_name_10 == NULL )
903     {
904         Py_DECREF( tmp_called_name_9 );
905         exception_type = PyExc_UnboundLocalError;
906         Py_INCREF( exception_type );
907         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "d" );
908         exception_tb = NULL;
909         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
910         CHAIN_EXCEPTION( exception_value );
911  
912         exception_lineno = 43;
913         type_description_1 = "ooooooo";
914         goto frame_exception_exit_1;
915     }
916  
917     tmp_args_element_name_11 = var_e;
918  
919     if ( tmp_args_element_name_11 == NULL )
920     {
921         Py_DECREF( tmp_called_name_9 );
922         exception_type = PyExc_UnboundLocalError;
923         Py_INCREF( exception_type );
924         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "e" );
925         exception_tb = NULL;
926         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
927         CHAIN_EXCEPTION( exception_value );
928  
929         exception_lineno = 43;
930         type_description_1 = "ooooooo";
931         goto frame_exception_exit_1;
932     }
933  
934     tmp_args_element_name_12 = var_f;
935  
936     if ( tmp_args_element_name_12 == NULL )
937     {
938         Py_DECREF( tmp_called_name_9 );
939         exception_type = PyExc_UnboundLocalError;
940         Py_INCREF( exception_type );
941         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "f" );
942         exception_tb = NULL;
943         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
944         CHAIN_EXCEPTION( exception_value );
945  
946         exception_lineno = 43;
947         type_description_1 = "ooooooo";
948         goto frame_exception_exit_1;
949     }
950  
951     frame_d28c19ff7efae7989b15b57a59b54859->m_frame.f_lineno = 43;
952     {
953         PyObject *call_args[] = { tmp_args_element_name_7, tmp_args_element_name_8, tmp_args_element_name_9, tmp_args_element_name_10, tmp_args_element_name_11, tmp_args_element_name_12 };
954         tmp_unused = CALL_FUNCTION_WITH_ARGS6( tmp_called_name_9, call_args );
955     }
956  
957     Py_DECREF( tmp_called_name_9 );
958     if ( tmp_unused == NULL )
959     {
960         assert( ERROR_OCCURRED() );
961  
962         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
963  
964  
965         exception_lineno = 43;
966         type_description_1 = "ooooooo";
967         goto frame_exception_exit_1;
968     }
969     Py_DECREF( tmp_unused );
970     }
971     {
972     PyObject *tmp_called_name_10;
973     PyObject *tmp_source_name_3;
974     PyObject *tmp_args_element_name_13;
975     PyObject *tmp_args_element_name_14;
976     PyObject *tmp_args_element_name_15;
977     PyObject *tmp_args_element_name_16;
978     PyObject *tmp_args_element_name_17;
979     PyObject *tmp_args_element_name_18;
980     tmp_source_name_3 = var_inst;
981  
982     if ( tmp_source_name_3 == NULL )
983     {
984  
985         exception_type = PyExc_UnboundLocalError;
986         Py_INCREF( exception_type );
987         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "inst" );
988         exception_tb = NULL;
989         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
990         CHAIN_EXCEPTION( exception_value );
991  
992         exception_lineno = 44;
993         type_description_1 = "ooooooo";
994         goto frame_exception_exit_1;
995     }
996  
997     tmp_called_name_10 = LOOKUP_ATTRIBUTE( tmp_source_name_3, const_str_plain_compiled_method );
998     if ( tmp_called_name_10 == NULL )
999     {
1000         assert( ERROR_OCCURRED() );
1001  
1002         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
1003  
1004  
1005         exception_lineno = 44;
1006         type_description_1 = "ooooooo";
1007         goto frame_exception_exit_1;
1008     }
1009     tmp_args_element_name_13 = var_a;
1010  
1011     if ( tmp_args_element_name_13 == NULL )
1012     {
1013         Py_DECREF( tmp_called_name_10 );
1014         exception_type = PyExc_UnboundLocalError;
1015         Py_INCREF( exception_type );
1016         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "a" );
1017         exception_tb = NULL;
1018         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1019         CHAIN_EXCEPTION( exception_value );
1020  
1021         exception_lineno = 44;
1022         type_description_1 = "ooooooo";
1023         goto frame_exception_exit_1;
1024     }
1025  
1026     tmp_args_element_name_14 = var_b;
1027  
1028     if ( tmp_args_element_name_14 == NULL )
1029     {
1030         Py_DECREF( tmp_called_name_10 );
1031         exception_type = PyExc_UnboundLocalError;
1032         Py_INCREF( exception_type );
1033         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "b" );
1034         exception_tb = NULL;
1035         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1036         CHAIN_EXCEPTION( exception_value );
1037  
1038         exception_lineno = 44;
1039         type_description_1 = "ooooooo";
1040         goto frame_exception_exit_1;
1041     }
1042  
1043     tmp_args_element_name_15 = var_c;
1044  
1045     if ( tmp_args_element_name_15 == NULL )
1046     {
1047         Py_DECREF( tmp_called_name_10 );
1048         exception_type = PyExc_UnboundLocalError;
1049         Py_INCREF( exception_type );
1050         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "c" );
1051         exception_tb = NULL;
1052         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1053         CHAIN_EXCEPTION( exception_value );
1054  
1055         exception_lineno = 44;
1056         type_description_1 = "ooooooo";
1057         goto frame_exception_exit_1;
1058     }
1059  
1060     tmp_args_element_name_16 = var_d;
1061  
1062     if ( tmp_args_element_name_16 == NULL )
1063     {
1064         Py_DECREF( tmp_called_name_10 );
1065         exception_type = PyExc_UnboundLocalError;
1066         Py_INCREF( exception_type );
1067         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "d" );
1068         exception_tb = NULL;
1069         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1070         CHAIN_EXCEPTION( exception_value );
1071  
1072         exception_lineno = 44;
1073         type_description_1 = "ooooooo";
1074         goto frame_exception_exit_1;
1075     }
1076  
1077     tmp_args_element_name_17 = var_f;
1078  
1079     if ( tmp_args_element_name_17 == NULL )
1080     {
1081         Py_DECREF( tmp_called_name_10 );
1082         exception_type = PyExc_UnboundLocalError;
1083         Py_INCREF( exception_type );
1084         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "f" );
1085         exception_tb = NULL;
1086         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1087         CHAIN_EXCEPTION( exception_value );
1088  
1089         exception_lineno = 44;
1090         type_description_1 = "ooooooo";
1091         goto frame_exception_exit_1;
1092     }
1093  
1094     tmp_args_element_name_18 = var_e;
1095  
1096     if ( tmp_args_element_name_18 == NULL )
1097     {
1098         Py_DECREF( tmp_called_name_10 );
1099         exception_type = PyExc_UnboundLocalError;
1100         Py_INCREF( exception_type );
1101         exception_value = PyUnicode_FromFormat( "local variable '%s' referenced before assignment", "e" );
1102         exception_tb = NULL;
1103         NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
1104         CHAIN_EXCEPTION( exception_value );
1105  
1106         exception_lineno = 44;
1107         type_description_1 = "ooooooo";
1108         goto frame_exception_exit_1;
1109     }
1110  
1111     frame_d28c19ff7efae7989b15b57a59b54859->m_frame.f_lineno = 44;
1112     {
1113         PyObject *call_args[] = { tmp_args_element_name_13, tmp_args_element_name_14, tmp_args_element_name_15, tmp_args_element_name_16, tmp_args_element_name_17, tmp_args_element_name_18 };
1114         tmp_unused = CALL_FUNCTION_WITH_ARGS6( tmp_called_name_10, call_args );
1115     }
1116  
1117     Py_DECREF( tmp_called_name_10 );
1118     if ( tmp_unused == NULL )
1119     {
1120         assert( ERROR_OCCURRED() );
1121  
1122         FETCH_ERROR_OCCURRED( &exception_type, &exception_value, &exception_tb );
1123  
1124  
1125         exception_lineno = 44;
1126         type_description_1 = "ooooooo";
1127         goto frame_exception_exit_1;
1128     }
1129     Py_DECREF( tmp_unused );
1130     } 663     }
1131 664
1132 #if 0 665 #if 0
1133     RESTORE_FRAME_EXCEPTION( frame_d28c19ff7efae7989b15b57a59b54859 ); 666     RESTORE_FRAME_EXCEPTION( frame_d28c19ff7efae7989b15b57a59b54859 );
1134 #endif 667 #endif
1193     NUITKA_CANNOT_GET_HERE( __main__$$$function_3_calledRepeatedly ); 726     NUITKA_CANNOT_GET_HERE( __main__$$$function_3_calledRepeatedly );
1194     return NULL; 727     return NULL;
1195     // Return handler code: 728     // Return handler code:
1196     try_return_handler_1:; 729     try_return_handler_1:;
1197     { 730     {
n n 731     CHECK_OBJECT( (PyObject *)var_inst );
1198     Py_XDECREF( var_inst ); 732     Py_DECREF( var_inst );
1199     var_inst = NULL; 733     var_inst = NULL;
1200 734
1201     } 735     }
1202     { 736     {
1203     Py_XDECREF( var_b ); 737     Py_XDECREF( var_b );
1241     exception_type = NULL; 775     exception_type = NULL;
1242     exception_value = NULL; 776     exception_value = NULL;
1243     exception_tb = NULL; 777     exception_tb = NULL;
1244     exception_lineno = 0; 778     exception_lineno = 0;
1245 779
t 1246     { t
1247     Py_XDECREF( var_inst );
1248     var_inst = NULL;
1249  
1250     }
1251     { 780     {
1252     Py_XDECREF( var_b ); 781     Py_XDECREF( var_b );
1253     var_b = NULL; 782     var_b = NULL;
1254 783
1255     } 784     }