@@ -25,24 +25,24 @@ state represents no information, and the BOTTOM state represents contradictory
2525information. Though symbols logically progress through all intermediate nodes,
2626we often skip in-between states for convenience:
2727
28- UNKNOWN-------------------+
29- | | |
30- NULL | |
31- | | | <- Anything below this level is an object.
32- | NON_NULL-+ |
33- | | | | <- Anything below this level has a known type version.
34- | TYPE_VERSION | |
35- | | | | <- Anything below this level has a known type.
36- | KNOWN_CLASS | |
37- | | | | | | PREDICATE
38- | | | INT* | | |
39- | | | | | | | <- Anything below this level has a known truthiness.
40- | | | | | TRUTHINESS |
41- | | | | | | |
42- | TUPLE | | | | |
43- | | | | | | | <- Anything below this level is a known constant.
44- | KNOWN_VALUE--+----------+
45- | | <- Anything below this level is unreachable.
28+ UNKNOWN-------------------+------------+
29+ | | | |
30+ NULL | | |
31+ | | | | <- Anything below this level is an object.
32+ | NON_NULL-+ | |
33+ | | | | | <- Anything below this level has a known type version.
34+ | TYPE_VERSION | | |
35+ | | | | | <- Anything below this level has a known type.
36+ | KNOWN_CLASS | | |
37+ | | | | | | PREDICATE DESCR
38+ | | | INT* | | | |
39+ | | | | | | | | <- Anything below this level has a known truthiness.
40+ | | | | | TRUTHINESS | |
41+ | | | | | | | |
42+ | TUPLE | | | | | |
43+ | | | | | | | | <- Anything below this level is a known constant.
44+ | KNOWN_VALUE--+----------+------------+
45+ | | <- Anything below this level is unreachable.
4646BOTTOM
4747
4848For example, after guarding that the type of an UNKNOWN local is int, we can
@@ -1031,6 +1031,7 @@ _Py_uop_sym_set_attr(JitOptContext *ctx, JitOptRef ref, uint16_t slot_index, Jit
10311031 // Check escape
10321032 if (sym -> descr .last_escape_index < ctx -> last_escape_index ) {
10331033 sym -> descr .num_descrs = 0 ;
1034+ sym -> descr .last_escape_index = uop_buffer_length (& ctx -> out_buffer );
10341035 return _Py_uop_sym_new_unknown (ctx );
10351036 }
10361037
0 commit comments