@@ -602,8 +602,26 @@ initial_counter_value(void) {
602602#define SPEC_FAIL_FOR_ITER_ENUMERATE 23
603603
604604/* UNPACK_SEQUENCE */
605- #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE 10
606- #define SPEC_FAIL_UNPACK_SEQUENCE_LIST 11
605+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_0 9
606+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_1 10
607+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_2 11
608+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_3 12
609+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_4 13
610+ #define SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_N 14
611+
612+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_0 15
613+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_1 16
614+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_2 17
615+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_3 18
616+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_4 19
617+ #define SPEC_FAIL_UNPACK_SEQUENCE_LIST_N 20
618+
619+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_0 21
620+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_1 22
621+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_2 23
622+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_3 24
623+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_4 25
624+ #define SPEC_FAIL_UNPACK_SEQUENCE_OTHER_N 26
607625
608626
609627static int
@@ -1978,15 +1996,19 @@ int
19781996}
19791997
19801998int
1981- _PySpecialization_ClassifySequence (PyObject * seq )
1999+ _PySpecialization_ClassifySequence (PyObject * seq , int n )
19822000{
2001+ assert (n >= 0 );
2002+ if (n > 4 ) {
2003+ n = 5 ;
2004+ }
19832005 if (PyTuple_CheckExact (seq )) {
1984- return SPEC_FAIL_UNPACK_SEQUENCE_TUPLE ;
2006+ return SPEC_FAIL_UNPACK_SEQUENCE_TUPLE_0 + n ;
19852007 }
19862008 if (PyList_CheckExact (seq )) {
1987- return SPEC_FAIL_UNPACK_SEQUENCE_LIST ;
2009+ return SPEC_FAIL_UNPACK_SEQUENCE_LIST_0 + n ;
19882010 }
1989- return SPEC_FAIL_OTHER ;
2011+ return SPEC_FAIL_UNPACK_SEQUENCE_OTHER_0 + n ;
19902012}
19912013
19922014int
0 commit comments