Skip to content

Commit 8361602

Browse files
Update ASCII art, address review
1 parent 3d79c64 commit 8361602

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

Python/optimizer_symbols.c

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,24 @@ state represents no information, and the BOTTOM state represents contradictory
2525
information. Though symbols logically progress through all intermediate nodes,
2626
we 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.
4646
BOTTOM
4747
4848
For 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

Comments
 (0)