gh-131798: JIT - Use sym_new_type instead of sym_new_not_null for _BUILD_STRING, _BUILD_SET (GH-132564)

Signed-off-by: Manjusaka <me@manjusaka.me>
This commit is contained in:
Nadeshiko Manju 2025-04-27 20:30:28 +08:00 committed by GitHub
parent 8b4fd24ca5
commit 614d79231d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 2 deletions

View file

@ -0,0 +1,2 @@
Use ``sym_new_type`` instead of ``sym_new_not_null`` for _BUILD_STRING,
_BUILD_SET

View file

@ -977,6 +977,14 @@ dummy_func(void) {
map = sym_new_type(ctx, &PyDict_Type);
}
op(_BUILD_STRING, (values[oparg] -- str)) {
str = sym_new_type(ctx, &PyUnicode_Type);
}
op(_BUILD_SET, (values[oparg] -- set)) {
set = sym_new_type(ctx, &PySet_Type);
}
op(_UNPACK_SEQUENCE_TWO_TUPLE, (seq -- val1, val0)) {
val0 = sym_tuple_getitem(ctx, seq, 0);
val1 = sym_tuple_getitem(ctx, seq, 1);

View file

@ -1032,7 +1032,7 @@
case _BUILD_STRING: {
JitOptSymbol *str;
str = sym_new_not_null(ctx);
str = sym_new_type(ctx, &PyUnicode_Type);
stack_pointer[-oparg] = str;
stack_pointer += 1 - oparg;
assert(WITHIN_STACK_BOUNDS());
@ -1073,7 +1073,7 @@
case _BUILD_SET: {
JitOptSymbol *set;
set = sym_new_not_null(ctx);
set = sym_new_type(ctx, &PySet_Type);
stack_pointer[-oparg] = set;
stack_pointer += 1 - oparg;
assert(WITHIN_STACK_BOUNDS());